0

我有这样的一对一关系

           modelBuilder.Entity<Subject>()
                    .HasOptional(d => d.Contact)
                    .WithMany()
                    .HasForeignKey(key => key.ContactID);

联系人是主题的可选字段,但是如果我尝试删除仍被主题引用的联系人,则会出现外键约束错误。如果我添加 .WillCascadeOnDelete。然后删除联系人也会删除主题。

无论如何,我试图用一对一的 FK 关系做些什么?

4

1 回答 1

1

您的代码正在正常工作。您不能删除正在被子项引用的父项。

作为最佳实践,请尝试Status在表格中添加一列并仅显示那些Status设置为的列true,当您想要删除某些内容时,只需将Status删除操作中的一行从以下内容更改为 false:

db.yourentity.Remove(yourentityinstance);

到:

yourentityinstance.Status = false;
于 2013-07-15T15:41:06.117 回答