[英]Cascade delete one-to-many with one-to-many
由於 EntityA 與列表中的 RelationAB 有關系,我在刪除 EntityB 的實體時遇到問題。
我可以通過從列表中刪除 RelationAB 來刪除它,但我希望能夠在一個事務中刪除 EntityB。
public class EntityA : Entity {
List<RelationAB> EntityBs {get; set;}
}
public class EntityB : Entity {
}
public class RelationAB : Entity {
public EntityA EntityA {get; set;}
public EntityA EntityAId {get; set;}
public EntityB EntityB {get; set;}
public EntityB EntityBId {get; set;}
}
public class RelationABConfiguration : EntityConfiguration<RelationAB>
{
public override void Configure(EntityTypeBuilder<RelationAB> builder)
{
builder.ToTable(nameof(RelationAB));
builder
.HasOne(x => x.EntityA)
.WithMany(x => x.EntityBs)
.IsRequired()
.HasForeignKey(x => x.EntityAId)
.OnDelete(DeleteBehavior.ClientCascade);
builder
.HasOne(x => x.EntityB)
.WithMany()
.IsRequired()
.HasForeignKey(x => x.EntityBId)
.OnDelete(DeleteBehavior.ClientCascade);
base.Configure(builder);
}
}
也許讓你的屬性可以為空可以解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.