私はこのクラスを持っています(簡体字)
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; }
}
私が達成しようとしているのは、セクションを削除することです。このセクションに関連するすべてのユーザーは、null 値を取得する必要があります。これは、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 に設定し、行を削除して、引数なしで行を追加してみました。
解決策は非常に単純だと思いますが、適切な説明が見つかりません(または、これまで見てきた説明が理解できないかもしれません。)