.NET 的 SOLID DDD ORM 请求(使用干净的实体和存储库)
Posted
技术标签:
【中文标题】.NET 的 SOLID DDD ORM 请求(使用干净的实体和存储库)【英文标题】:SOLID DDD ORM request (to use clean entities and repositories) for .NET 【发布时间】:2009-12-31 07:06:33 【问题描述】:有没有 ORM 可以
保持我的实体类干净,没有任何属性和类的属性 不会是 ActiveRecord 模式,所以它不应该有 entity.Save/Delete 等。可选:能够执行存储过程并将结果解析为实体
【问题讨论】:
您是否针对任何特定平台/语言/框架?例如。 .NET、Java? 【参考方案1】:听起来 NHibernate 就是您所需要的。这使用映射文件(在 XML 中)将类的属性映射到数据库。实体通过 SessionManager 接口进行管理。
文档是here。
映射文件也可以从存储过程映射到您的持久对象。详情here.
【讨论】:
这些链接指向旧 (1.2) 版本的 NHibernate。更多最新文档在这里:nhforge.org/doc/nh/en/index.html 马克 - 我同意关于实体框架的“观望”。 同意。然而,映射也可以使用属性(这不是 POCO,也不是提问者想要的)和 C# (fluentnhibernate.org) 来完成。【参考方案2】:您所寻找的通常称为持久性无知。似乎首选的框架是 NHibernate,所以我支持 Jeremy McGee 的回答。
为了完整起见,我想指出微软的实体框架将在下一个版本 (.NET 4) 中获得持久性无知 - 他们称之为 POCO 支持。它是否真的会有任何好处还有待观察......
【讨论】:
以上是关于.NET 的 SOLID DDD ORM 请求(使用干净的实体和存储库)的主要内容,如果未能解决你的问题,请参考以下文章
asp.net core系列 63 领域模型架构 eShopOnWeb项目分析 上