gpt4 book ai didi

fluent-nhibernate - Fluent Nhibernate 域驱动设计

转载 作者:行者123 更新时间:2023-12-04 07:45:27 29 4
gpt4 key购买 nike

您好,我很好奇 DDD 是如何使用 Fluent Nhibernate 真正实现的。例如,我有一个名为 User 的实体类和另一个名为 UserProfile 的类,就我而言,UserProfile 不是实体类而是值类型,如果不与 User 实体关联,则不应真正具有这样的身份。现在要实际实现,理想情况下,用户配置文件将存储在名为 UserProfile 的数据库表中,我看不出如何避免为该表设置唯一 ID。我还使用 FluentNhibernate 作为 ORM,我相信 UserProfile 类需要有一个 Id 才能正确映射。那么值类型、聚合根等概念会发生什么变化,是否真的有可能用流畅的 Nhibernate 实现真正的 DDD,或者只是我对 DDD 的理解很差。我真正看到的只是关于整个事情的大量理论,但我还没有看到一个真正具有使用 NHibernate 的真正 DDD 的项目。我现在有点困惑,感谢任何帮助

更新

好吧,经过一番阅读,我了解到存储库用于管理聚合根,解决了一些问题,但最终 userprofile 类不是聚合根,所以我还应该给它一个 ID 吗?它显然在数据库表中需要一个,所以我假设该类也需要一个 Id。但是这不是违背了DDD的原则吗?解决这个问题的方法是什么?

最佳答案

它需要一个 Id 才能被您的 ORM (NHibernate) 支持,这完全没问题。实体和值类型之间的区别在于它们的身份和生命周期概念。拥有一个 Id 字段只是这里的一个实现细节。

关于fluent-nhibernate - Fluent Nhibernate 域驱动设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3265580/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com