【发布时间】:2014-07-15 14:15:41
【问题描述】:
在我的 EF 代码优先模型中,我有两个实体:
class User
{
[Key]
public int Id { get; set; }
[InverseProperty("Friend")]
public virtual ICollection<Invitation> Invitations { get; set; }
}
class Invitation
{
[Key]
public int Id { get; set; }
public int FriendId { get; set; }
[ForeignKey("FriendId")]
public User Friend { get; set; }
}
所以 FriendId 属性是用户实体的外键。现在,当我向 User.Invitations 集合添加一个新的 Invitation 对象时,Invitation.Friend 属性会相应地填充,这就是我想要的。
但是,当我从 User.Invitations 集合中删除一个 Invitation 对象时,我希望已删除的 Invitation 对象的 Friend 属性保留其值。目前,EF 会将其设置为 null。我该如何防止呢?我正在使用 EF 6.0。
谢谢
【问题讨论】:
-
如果您不想破坏两者之间的关系,为什么要删除用户的邀请?
-
当用户想要删除邀请时,我希望删除邀请,但我想保留 Invitation 对象以进行簿记。
标签: c# entity-framework ef-code-first