我有一个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();
我的问题是,当列表很大时,此查询的性能会大大降低,在某些情况下,返回结果需要几分钟。
我需要知道什么方法可以提高此查询的性能?
答案 0 :(得分:0)
此请求将数据库中的每一行与集合中的每一项进行比较。
分别评估每个步骤后的请求性能。
如果您遭受Linq性能困扰并且非常了解SQL,则可以使用Dapper来读取请求和报告。