【发布时间】:2020-03-29 06:19:53
【问题描述】:
我有一个 c# 代码,在其中我使用 LINQ 查询通过将字符串类型的特定属性与字符串列表进行比较来检索一堆对象。 c#代码如下:
var list = new List<string>{.....}
var query = from record in context.Records.AsNoTracking()
where list.Contains(record.Name)
orderby record.Name
select new
{
...
};
var result = query.ToList();
我的问题是,当列表很大时,此查询的性能会非常低,在某些情况下需要几分钟才能返回结果。
我需要知道提高此查询性能的可能解决方案是什么?
【问题讨论】:
-
我怀疑您需要将查询分解为更小的块。另外,看看是否在内存中进行排序,即在你到 ToList 之后调用 .OrderBy (因为这现在将在内存中排序)可能会有所帮助
标签: c# performance entity-framework linq