我不确定我到底IQueryable
是什么。
我知道,它并不能为我提供所有实体,而是将约束部分放入内存中,但会将其作为发送到数据库的命令的一部分执行。
如果我弄错了,请纠正我,然后告诉我,为什么我的存储库函数应该返回IQueryable
而不是简单的List
?
AnIQueryable
实际上不是实体的集合,而是描述了如何获取该集合。除非您通过将数据转换为IEnumerable
或类似内容进行评估,否则不会从源中检索数据。
IQueryable
从存储库返回an的好处是,调用代码可以.Where
在查询进入数据库之前指定其他子句。如果返回IEnumerable
,则代码将从数据库中检索一个表的所有值,然后在内存中执行过滤,这效率很低。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句