如何优化具有多个联接的Linq查询

时间:2020-09-17 12:59:46

标签: entity-framework linq join query-performance qsqlquery

在我的项目中,我有许多联接查询,但我认为,太长的查询不是一种非常有效的方法。所以我需要一些有效的查询来提高性能。我也想知道哪种LINQ查询最好的“查询语法或方法语法

    var orderModelList = from orders in db.Orders
                                         join custProject in db.CustomerProjects on orders.CustomerProjectId equals custProject.CustomerProjectId into leftJoinCustProj
                                         from customerProject in leftJoinCustProj.DefaultIfEmpty()
                                         join cust in db.Customers on orders.CustomerId equals cust.CustomerId into leftJoinCust
                                         from customer in leftJoinCust.DefaultIfEmpty()
                                         join emp in db.Employees on orders.EmployeeId equals emp.EmployeeId into leftJoinEmp
                                         from employee in leftJoinEmp.DefaultIfEmpty()
                                         join store in db.Stores on orders.StoreId equals store.StoreId
                                         where store.AccountId == filter.AccountId
                                         let orderItems = (from orderItems in orders.OrderItems
                                                           where filter.showOrderItems
                                                           select orderItems)
                                         select new OrderModel
                                         {

//load data

}

0 个答案:

没有答案