IQueryable 与 IEnumberable 接口的区别
Queryable 与 IEnumberable 接口的区别是:
IEnumberable
而 IQueryable
(IQueryable 其实继承了 IEnumberable)
那么我们什么时候使用 IQueryable、什么时候使用 IEnumberable 呢?
通常,在数据访问层都是使用 IQueryable,因为可以把对数据的加载延时到业务逻辑层来处理。很多时候,业务逻辑层调用数据访问层的方法时并不要求马上从数据库中加载数据保存在内存中。
这时在业务逻辑层依旧可以使用延时加载,当真正需要加载数据的时候,再在业务逻辑层把 IQueryable 转换成 IEnumberable,把数据加载进来。