【发布时间】:2013-10-14 09:05:18
【问题描述】:
Link:
我的存储库总是返回 IQueryable。这样做的原因是 IQueryable 不依赖于 EF,而 ObjectQuery 是。所以如果我想要 我的其他层对持久性一无所知我不想介绍 对 ObjectQuery 的依赖。
a) 我假设存储库(使用 EF 实现)应该返回 IQueryable 而不是 ObjectQuery 的原因是因为其他 ORM 也使用返回 IQueryable 的查询,并且通过让存储库返回 IQueryable 我们可以轻松切换在 EF 和其他 ORM 之间,无需更改存储库的公共接口?
b) 除了 EF 和 NHibernate,还有其他 ORM 也有返回 IQueryable 的查询吗?
谢谢
【问题讨论】:
-
a) 是 b) List
.AsQueryable() 也可用于测试目的。还有 OData(但它只支持 IQueryable 的一小部分)。 -
感谢您的回复
标签: entity-framework linq-to-entities iqueryable objectquery