我有这门课(简体)
public class User {
public string Username { get; set; }
public virtual Section Section { get; set; }
}
public class Section {
public int DepartmentNumber { get; set; }
public virtual ICollection<User> DepartmentMembers { get; set; }
}
我试图实现的是删除一个部分。与此部分相关的所有用户都应该得到一个空值。由于 REFERENCE 约束“FK_Users_Sections_Section”,此剂量现在有效。
这样做的正确方法是什么?在删除之前我是否必须从该部分中删除所有用户?有没有更优雅的方法来做到这一点?我正在使用 EntityFramework。
我对这个领域的流利的 API:
modelBuilder.Entity<User>()
.HasOptional(u => u.Section)
.WithMany(s => s.DepartmentMembers)
.Map(m =>
m.MapKey("Section")
)
.WillCascadeOnDelete(false);
WillCascadeOnDelete 我已经尝试过设置为 false,删除该行并添加不带参数的行。
我想解决方案很简单,但我找不到任何好的解释(或者我可能不明白我一直在看的解释。)