Address
、User
およびの 3 つのクラスがありApplication
ます。と の両方User
にApplication
住所フィールドがあります。
ユーザー:
[Required, ForeignKey("HomeAddress")]
public int HomeAddressId { get; set; }
public virtual Address HomeAddress { get; set; }
応用:
[Required, ForeignKey("PresentAddress")]
public int PresentAddressId { get; set; }
public virtual Address PresentAddress { get; set; }
「サイクルまたは複数のカスケード パス」の問題を回避するために、次のコードを作成しています。のカスケード削除を解除したいApplication
。次のコードは正しいですか?
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Application>()
.HasRequired(x => x.PresentAddress)
.WithMany()
.HasForeignKey(x => x.PresentAddressId)
.WillCascadeOnDelete(false);
}