如何为此编写好的LINQ查询?

时间:2012-11-29 12:02:25

标签: asp.net-mvc-3 linq

我有一个LINQ查询。当我运行查询时,需要花费大量时间来执行操作。如何修改查询以执行良好的操作。这是LINQ查询。

查询

var model = (from items in Db.Items
                         where items.ItemNo == DD.ItemNumber
                         select new ViewModel()
                         {
                             INo = items.ItemNo,
                             BTags = (from asd in Db.BibContents where asd.BibId == items.BibId && asd.TagNo == "245" && asd.Sfld == "a" select asd.Value).FirstOrDefault(),
                             Sid = (from stat in Db.ItemStatus1 where stat.Id == items.StatusId select stat.Description).FirstOrDefault(),
                             Option = DD.Option
                         }).ToList();

3 个答案:

答案 0 :(得分:3)

您应该在SQL事件探查器和查询分析器中分析查询。问题可能是你桌子上的索引。

答案 1 :(得分:0)

首先,虽然您的查询始终使用数据库对象,但您最好在SQL中完成所有工作并仅将结果带到LINQ。

这可能会提高您的表现。

答案 2 :(得分:0)