实体框架:POCO和IQueryable代码的封装
问题是关于方便的代码组织。
我已将 POCO 类移至持久性独立项目。我应该将 IQueryable 代码(这些 POCO 周围的“业务规则”的一部分,例如用于生成派生的非持久业务对象)一起移动,还是最好将所有 IQueryable 代码留在具有 ObjectContext 的库中?
The question is about convenient code organization.
I've moved my POCO classes to the persistence independent project. Should I move IQueryable code (part of "business rules" around those POCOs, used for example to generate derived non-persistent business object) together or better to leave all IQueryable code in the library with ObjectContext?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的评论中,您说,“这意味着持久性独立库可以包含 IQueryable 表达式,这些表达式在没有持久层的情况下“不可执行/可测试”......”。那不是真的。您可以以(大部分)与持久性无关的方式测试 IQueryable 表达式。
例如:
您可以将其与 L2E 一起使用:
您可以使用 L2O 对其进行测试:
这是一个虚构的示例,但希望要点很清楚:如何构建它实际上取决于您,正如 @Ladislav 所说。
In your comment, you say, "That means that persistence independent library can contain IQueryable expressions which are "not executable/testable" without persistence layer...". That's not true. You can test IQueryable expressions in a (mostly) persistence-independent manner.
E.g.:
You can use this with L2E:
You can test it with L2O:
This is a made-up example, but hopefully the point is clear: How you structure this really is up to you, as @Ladislav states.