我在实体框架中有一个简单的类,如下所示:
public class Merchandising
{
public int Id { get; set; }
public int Index { get; set; }
public int CategoryId { get; set; }
public int? CardId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在数据库中,这有大约1000行,直接查询只需不到一秒钟,但是当我执行此语句时,运行最多需要55秒 - 我觉得这很奇怪.任何人都可以对此有所了解吗?
var mm = a.Merchandisings.ToList();
var m = mm.Where(f => f.CategoryId == catId).ToList();
Run Code Online (Sandbox Code Playgroud)
catId是一个整数值,mm需要几分之一秒才能执行.mm返回大约1000行,m返回40行.M需要大约55秒才能执行.
我假设虽然CategoryId并且CardId它们都链接到其他类(并且是大数据对象),但是没有加载数据,因为没有延迟加载.
我真的不明白为什么执行m需要这么长时间,我想这与公平框架缺乏知识有关.有人可以帮忙吗?