Compiled LINQ Queries
ASP.NET
1
Posts
1
Posters
0
Views
1
Watching
-
Lets start here. I have the following two classes:
public class Order { public Int32 Id { get; set; } public String OrderNumber { get; set; } public DateTime OrderDate { get; set; } public String OrderStatus { get; set; } public Int32 CustomerId { get; set; } public List<OrderItem> Items { get; set; } public Decimal Total { get; set; } } public class OrderItem { public Int32 OrderId { get; set; } public Int32 OrderLineNumber { get; set; } public Int32 ItemId { get; set; } public Double OrderQty { get; set; } public Decimal Price { get; set; } public Decimal LineTotal { get; set; } }
Here is some LINQ query that am using to fetch Orders from two database tables (OrderMaster and OrderDetail) and return a List<Order>. The LINQ DataContext that has the two tables is named TempContext.
static List<Order> GetOrders() { using (var context = new TempContext()) { return (from om in context.OrderMasters select new Order { Id = om.OrderID, OrderNumber = om.OrderNumber, OrderDate = om.OrderDate, OrderStatus = om.OrderStatus, CustomerId = om.CustomerID, Total = om.Total, Items = (from od in context.OrderDetails.Where(d => d.OrderID == om.OrderID) select new OrderItem { OrderLineNumber = od.OrderLineNumber, OrderId = od.OrderID, ItemId = od.ItemID, OrderQty = od.OrderQty, Price = od.Price, LineTotal = od.Total }).ToList() }).ToList(); } }
My idea is to convert this LINQ Query to a Compiled LINQ Query and see whether I will be able to get any notable improvements on execution performance. Here is what I was able to