首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DDD数据库优先。如何处理聚合

问DDD数据库优先。如何处理聚合
EN

Stack Overflow用户
提问于 2012-08-29 20:23:37
回答 2查看 1.9K关注 0票数 4

我正在尝试学习DDD的概念。我已经做了一个项目,我使用数据库优先的方法。在基础架构中,我添加了一个edmx文件,我选择该文件来自动生成实体。现在,在“域”中,我正在尝试创建聚合。

但在这里我遇到了一些问题。我正在尝试创建一个名为" User“的聚合,但是User已经存在于ef自动生成的实体中。我是否应该将聚合"User“重命名为其他名称,并在从db获取数据时将其从db实体映射到聚合。

我做错了吗?或者我不应该自动生成实体,或者enties是聚合的吗?

请多多指教和帮助。

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-31 14:13:15

如果你想忠实于DDD,你应该将你的域对象建模为独立于你的持久化解决方案。DDD通过存储库处理持久性。不要使用EF生成的“实体”作为您的域模型;相反,设计您自己的模型,并实现一个使用EF进行持久性的存储库。

票数 7
EN

Stack Overflow用户

发布于 2012-10-29 21:59:15

在我看来,领域驱动设计和“数据库优先”是对立的。域驱动的设计关注复杂的行为,而数据模型关注数据的静态结构。

如果我有从一个干净的环境开始的特权,我不会通过首先创建一个遗留数据库来使它变得更加复杂。考虑DDD是面向复杂领域的,其中发现和学习是过程的一部分。

为了支持持续的学习过程,最好依靠更专门为进化而设计的软件组件(比如面向对象的领域模型,它可以在廉价的单元测试下),而不是依赖于进化成本肯定更高的数据库设计。

没有人能在一开始就把每件事都做好。因此,我最好从一次性成本很小的东西开始。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12177875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档