我有以下的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个匹配项,所以这里没有太多事情要做。
此查询是控制器类的一部分,我正在使用ASP.NET Core和EntityFramework Core。
顺便说一下,SQL查询看起来像这样。
SELECT *
FROM Address
WHERE ZipCode = '29130'