0

AddressUserおよびの 3 つのクラスがありApplicationます。と の両方UserApplication住所フィールドがあります。

ユーザー:

    [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);
    }
4

0 に答える 0