我应该为每个域在 DDD 中有一个单独的数据库吗?EF MVC codefirst

Should i have for each Domain a separate database in DDD?EF MVC codefirst

我是 DDD 的新手。 我有一个包含 6 个域的项目。

在每个域中我都有我的 inf 和应用程序 layer.My 问题是关于我的 database.I 首先使用 entity framework 代码(MVC ASP)。 我应该为每个域创建一个单独的数据库吗?

您设法将应用程序拆分为多个限界上下文 (BCs),每个域(子域)一个。这是完美的情况。

在这种情况下,您应该为每个限界上下文拥有单独的数据库(或至少单独的 tables/collections)。为了从一个 BC 到另一个 BC 共享数据,您应该使用 Context mapping 战略 DDD 模式来查看什么是最好的技术(取决于您的架构,您可以使用反腐败层在上游和下游之间共享数据 BC)。

详细了解 here BCs 之间的集成类型。

PS。在 Vaughn Vernon 的 Domain-Driven Design Distilled 一书中,您可以找到一些集成示例。