【发布时间】:2016-03-18 14:47:39
【问题描述】:
我最近在 Pluralsight 上观看了 Steve Smith 和 Julie Lerman 的 Domain-Driven Design Fundamentals,这是一门很棒的课程,但是我是否有关于 EF Code-First 和 DDD 的问题,我得到了丰富实体的概念并真正理解了大多数 DDD,但我很难理解 EF Code-First 在 DDD 中的使用。假设我有两个有界上下文,并且在每个有界上下文中都有一个客户实体,共享一个 ID 和名称。
namespace Accounts
{
public class Customer : Entity
{
public Guid Id { get; private set; }
public string Name { get; private set; }
public string AccountNo { get; private set; }
}
}
namespace Deliveries
{
public class Customer : Entity
{
public Guid Id { get; private set; }
public string Name { get; private set; }
public Address DeliveryAddress { get; private set; }
}
}
在每个有界上下文中,我都有一个带有 DbContext 的数据层,为了参数,让我们调用一个 Accounts.AccountsDbContext 和 Deliveries.DeliveriesDbContext(每个都有一个 IDbSet,它使用上面定义的自己的有界上下文客户实体)
我的问题和我正在努力理解的是如何处理跨不同 DbContext 的代码优先迁移。 Customer 实体引用同一个数据库表,但只公开与它们所在的有界上下文相关的属性。那么 EF 如何通过迁移来处理这个问题?
【问题讨论】:
标签: entity-framework ef-code-first domain-driven-design