我怎样才能改进我的LINQ查询?

时间:2011-09-06 13:03:39

标签: c# sql-server linq

如何改进我的LINQ查询以获得更好的性能。写这个的更好方法是什么:

result = (from cd in dataContext.vRetailerWeeks
          where cd.MasterTrackingGroupID == masterTrackingGroupId
             && cd.RetailerWeek <= (from cd1 in dataContext.vCalendarDates
                                    where
                                        cd1.MasterTrackingGroupID == masterTrackingGroupId &&
                                        cd1.CalendarDate == retailerWeekDateTime
                                    select cd1.RetailerWeek).FirstOrDefault()
          orderby cd.RetailerWeek descending 
          select cd.RetailerWeek).Take(weekNo).ToList();

1 个答案:

答案 0 :(得分:3)

好吧,问题是你是否需要改进你的linq查询或数据库中的索引。

开始生成SQL的最佳方式(使用SQL事件探查器,或从datacontext中记录)。

如果您对生成的SQL感到满意,则无需进一步更改linq查询,它已完成其工作。因此,在Management Studio中尝试此SQL并检查查询计划。从那里,您可以优化索引。

如果您不满意,请继续使用linq查询。