【发布时间】:2013-07-17 13:45:31
【问题描述】:
我有一个实体,它定义了许多不同实体的属性。
例如。
class user{
ICollection<PropertyEntity> properties {get;set;}
}
class company{
ICollection<PropertyEntity> properties {get;set;}
}
当我从用户或公司删除 PropertyEntity 时。
myUser.properties.Remove(someProperty);
PropertyEntity 没有被删除,它只是将外键设置为 null。
我知道我可以只使用 [Key] 注释来定义外键。但大概这需要两个键而不是任何一个?
我如何让 EF 构建这种关系,以便用户或公司可以拥有许多 PropertyEntity。但是如果 PropertyEntity 没有用户或公司,它会被删除吗?
【问题讨论】:
-
您是真的“删除”
PropertyEntity还是只是将其从集合中删除? -
所以你想级联删除?你是用fluent API定义这种关系吗?
-
这不是级联删除,因为父实体没有被删除。我所做的就是将它从收藏中删除。但它没有从数据库中删除。我正在寻求有关如何使用 fluent API 真正定义它的建议。
-
我们可以看看你是如何删除你的实体/也许是你现有的映射吗?
标签: c# .net entity-framework ef-code-first