简单问题:
我的存储库的一部分看起来像这样
public class CustomerRepository : IRepository<Customer>
{
public IQueryable<Customer> GetAll()
{
MyDataEntities ent = new MyDataEntities();
return from c in ent.Customers select c;
}
}
现在假设我有10,000个客户,如果我这样做:
var cus = from c in GetAll() where c.FirstName == "jon" select c;
请告诉我,GetAll()不会加载所有这10,000个但是懒得加载整个东西?这是我需要在某处设置还是自动发生?
我不知道如何检查它是否是延迟加载的,当实际的sql查询被吐入sql server时有什么可看的吗?
抱歉无知。
答案 0 :(得分:1)
是的,它会。由于您的GetAll
正在返回IQueryable
。验证这种情况的一种简单方法是打开探查器并查看正在执行的查询。或者调查调试器中的IQueryable
对象。