14
外部キーを公開せずに1対多の関係を削除すると、EFによって親レコードが削除され、子レコードの外部キーがnullになります。これはもちろん、外部キーがNULL可能でないためにエラーが発生します。子クラスに外部キーを追加すると、この動作がオーバーライドされますが、むしろ公開しないでください。外部キーを公開せずにEFコードでカスケード削除を有効にする
たとえば、次の2つのクラスを指定すると、私はJobIdをProjectクラスのプロパティとして使用したくないと思います。
public class Job : ModelBase
{
[Required]
[StringLength(100)]
public string Company { get; set; }
[Required]
[StringLength(100)]
public string JobTitle { get; set; }
public ICollection<Project> Projects { get; set; }
}
public class Project : ModelBase
{
[Required]
[StringLength(100)]
public string Name { get; set; }
[Required]
public string Summary { get; set; }
public int JobId { get; set; }
}
関係の多くの側に外部キーを公開せずにEFコードファーストでカスケード削除を有効にする方法はありますか?
パーフェクトです。ありがとう! –
私が明白と呼ぶものではない... –