gpt4 book ai didi

asp.net-mvc - 使用 ID 的 Linq 查询返回结果缓慢(EF Core)

转载 作者:行者123 更新时间:2023-12-02 03:12:08 24 4
gpt4 key购买 nike

我有以下 linq 查询

internal List<ZipCodeInfo> GetInfoFromZipCode(string zipCode)
{
using (DbContext context = new DbContext())
{
IQueryable<ZipCodeInfo> results;

results = (from a in context.Address
where a.ZipCode.Equals(zipCode)
select new ZipCodeInfo
{
Field1 = a.Field1,
Field2 = a.Field2,
Field3 = a.Field3
});

return results.ToList();
}
}

但是查询本身需要大约 5-6 秒才能完成。我已经在 SQL 上执行了对应的查询,几乎不需要任何操作就可以完成。为什么要花那么长时间?最后的查询只返回 4 个匹配项,所以这里没什么可做的..

此查询是 Controller 类的一部分,我正在使用 ASP.NET Core 和 EntityFramework Core。

SQL 查询看起来像这样,顺便说一句。

SELECT *
FROM Address
WHERE ZipCode = '29130'

最佳答案

您可以重写上面的查询,如下所示。请立即告知我们性能。

 internal List<ZipCodeInfo> GetInfoFromZipCode(string zipCode)
{
using (DbContext context = new DbContext())
{
//disabled tracking
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

IQueryable<ZipCodeInfo> results;

results = (from a in context.Address
where a.ZipCode.Equals(zipCode)
select new ZipCodeInfo
{
Field1 = a.Field1,
Field2 = a.Field2,
Field3 = a.Field3
});

return results.ToList();
}
}

关于asp.net-mvc - 使用 ID 的 Linq 查询返回结果缓慢(EF Core),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39421314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com