提问人:Rahul Chawla 提问时间:10/27/2023 最后编辑:Rahul Chawla 更新时间:10/27/2023 访问量:33
实体框架端的级联/客户端级联(未在数据库中定义)
Cascade / ClientCascade on Entity Framework Side (Not defined In Database)
问:
我无法对数据库进行更改,它被逆向工程为 ef 核心模型。我试图将 添加到 DbEntity 模型生成器中,但我仍然收到外键错误“DELETE 语句与 fk 引用冲突”。我的目标是自动删除其他表中的行,如果删除父表,则键被引用为 fk。.OnDelete(DeleteBehavior.ClientCascade)
我尝试执行的操作是否可行,或者是否必须在 SSMS 端定义级联约束?
直接修改 dbcontext 中子表的模型构建器,添加无法删除引用的字段。.OnDelete(DeleteBehavior.ClientCascade)
这是我的模型构建器示例。当我从会话中删除 sessionId 时,它应该删除 S 中的子实体
modelBuilder.Entity<S>(entity =>
{
entity.HasOne(d => d.Session)
.WithMany()
.HasForeignKey(d => d.SessionId)
.OnDelete(DeleteBehavior.ClientCascade)
.HasConstraintName("FK_Session");
});
答: 暂无答案
评论