[英]Error with entities that do not expose foreign key properties for their relationships
[英]Foreign key properties in domain entities
在域驱动设计中,域模型应该完全不知道任何数据持久性细节。
假设一个Employee
属于一个Department
。 域实体可能如下所示:
public Employee
{
public string EmployeeId { get; set; }
public string FirstName { get; set; }
public string LastName{ get; set; }
public Department Department { get; set; }
public int DepartmentId { get; set; }
}
public Department
{
public string DepartmentId { get; set; }
public string Name{ get; set; }
}
Employee.DepartmentId
在域模型中是否真的相关,还是基础架构存储细节?
当然Employee.Department
是这个级别的重要关系?
在我的例子中,这些实体将存储在SQL数据库中,数据将由Entity Framework检索,因此Employee.DepartmentId
列将存在于数据库中。
如果使用外键,实体框架中的生活会更容易:
为什么Entity Framework将现有对象重新插入我的数据库?
而且你说外键与领域模型并不真正相关是完全正确的。 它是持久性模型的一部分。
所以你需要决定加入哪个阵营。 你是纯粹主义者还是实用主义者? 是否分离域模型和持久性模型?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.