【发布时间】:2011-03-16 23:41:06
【问题描述】:
您好,我很好奇如何使用 Fluent Nhibernate 真正实现 DDD。例如,我有一个名为 User 的实体类和另一个名为 UserProfile 的类,就我而言,UserProfile 不是实体类而是值类型,如果不与 User 实体关联,则不应真正具有这样的身份。现在要实际实现,理想情况下,用户配置文件将存储在一个名为 UserProfile 的数据库表中,我不知道如何才能摆脱该表的唯一 ID。我也使用 FluentNhibernate 作为 ORM,我相信 UserProfile 类需要有一个 Id 才能正确映射。那么值类型,聚合根等的概念会发生什么,是否真的有可能使用流利的 Nhibernate 实现真正的 DDD,或者只是我对 DDD 的理解很差。我真正看到的只是关于整个事情的很多理论,但我还没有看到一个真正具有使用 NHibernate 的 DDD 的项目。我现在有点困惑,感谢任何帮助
更新
好的,经过一番阅读,我了解到存储库用于管理聚合根,解决了一些问题,但最终 userprofile 类不是聚合根,所以我还应该给它一个 ID 吗?它显然需要数据库表中的一个,所以我假设该类也需要一个 Id。但这不违背DDD的原则吗?有什么办法解决这个问题?
【问题讨论】:
标签: fluent-nhibernate domain-driven-design