EF Core中的.WillCascadeOnDelete(false)等效于什么?

时间:2019-03-19 04:29:13

标签: c# entity-framework .net-core ef-core-2.0

EF Core中的.WillCascadeOnDelete(false)等效于什么?

modelBuilder.Entity<ProductTransactionHistoryClassImport>()
                .HasMany(e => e.ProductTransactionHistoryClassDetailImports)
                .WithOne(e => e.ProductTransactionHistoryClassImport);
                .WillCascadeOnDelete(false);

2 个答案:

答案 0 :(得分:2)

Details Here

OnDelete方法将DeleteBehavior枚举作为参数:

Cascade-应删除家属

Restrict-家属不受影响

SetNull-依赖行中的外键值应更新为NULL

modelBuilder.Entity<ProductTransactionHistoryClassImport>()
            .HasMany(e => e.ProductTransactionHistoryClassDetailImports)
            .WithOne(e => e.ProductTransactionHistoryClassImport);
            .OnDelete(DeleteBehavior.SetNull);

答案 1 :(得分:0)

代码位于 DbContext 类中的 OnModelCreating 方法 (ModelBuilder modelBuilder) 中,可以按如下方式使用:

.OnDelete(DeleteBehavior.Cascade);

.OnDelete(DeleteBehavior.Restrict);

.OnDelete(DeleteBehavior.NoAction)