ef context + database schema + DDD BoundedContext

时间:2014-05-30 08:15:18

标签: entity-framework domain-driven-design entity-framework-6

据我所知,至少EF 6支持多个DbContexts。这可用于模拟BoundedContext。我做了一些谷歌搜索,但无法找到这个问题的明确答案。是否建议对不同的DbContexts / BoundedContext使用不同的数据库模式?我知道ORM抽象了持久性机制,但我个人可以看到shemas和ddd / ef上下文之间的相似之处。

1 个答案:

答案 0 :(得分:1)

这是一种可能性。与大多数架构问题一样,答案是:它取决于。

在这种情况下,它取决于整体架构的方式以及有界上下文的结构。如果它们具有持久化到相同表的类似聚合(也就是说,由于上下文它们是不同的),那么拥有不同的DbContexts可能是个好主意,因为这样你就可以单独进化它们。

请注意,您可能会在有界上下文之间引入隐藏约束和依赖关系。

如果您的有界上下文具有非常不同的聚合,则无需使用不同的DbContexts,您只能共享相同的内容。

您可能会考虑的另一个选择是使用不同的DbContext进行读写。它还允许您单独改进模型。 (这更像是一种CQRS方法)