存储库中的IQueryable

时间:2014-05-22 08:58:42

标签: c# entity-framework repository-pattern

我读过一些禁止在通用存储库上公开IQueryable的文章,因为它是一个LINQ实现。我只是想问一下是否可以将IQueryable用于私人用途,这意味着它无法在存储库外访问。

1 个答案:

答案 0 :(得分:2)

完全可以使用任何进行私有实现。它不会通过API向您的存储库的客户端公开,因此它不会以任何方式影响它们。

实际上,存储库的客户端应该仅依赖于存储库抽象(通常是接口)。因此,即使不属于客户端使用的接口的公共成员也不会影响该客户端。

BTW无法避免在存储库中私有使用IQueryable,因此您正在使用Entity Framework。您在存储库中定义的任何查询都是IQueryable:)