c# - 如何配置模型构建器以在删除用户时删除所有配方但在删除配方时保留用户
问题描述
这是我现在的模型构建器,但是当我删除用户时,它会将食谱用户 ID 设置为空。
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().HasMany(e => e.Recipes).WithOne(e => e.ApplicationUser)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Recipe>().HasOne(e => e.ApplicationUser).WithMany(e=>e.Recipes)
}
解决方案
我认为您夸大了映射,您只需要将一个实体映射到另一个。
尝试先使用这个;
modelBuilder.Entity<ApplicationUser>().HasMany(e => e.Recipes).OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<Recipe>().HasOne(e => e.ApplicationUser);
如果上述方法不起作用,请单独尝试此方法;
modelBuilder.Entity<ApplicationUser>().HasMany(e => e.Recipes).OnDelete(DeleteBehavior.Cascade);
推荐阅读
- azure-container-instances - 我可以获取重新启动的 Azure 容器实例容器的先前实例的日志吗?
- tensorflow - LSTM 如何使用词嵌入进行文本分类,例如 Keras
- uwp - 联合身份 AAD 到 ADFS 重定向 | UWP 应用
- mysql - MySQL 双连接/数据透视表
- python - 如何在 Bokeh 中水平排列不同的小部件
- node.js - 将签名的 cookie 传递给 puppeteer
- wordpress - 如何在使用木材/树枝时使用 wordpress 主题自定义 API
- machine-learning - 强化学习代理在连续动作空间中输出单个值
- c# - 寻找一种设计模式来管理需要更新多个数据源中的数据的操作
- spring - 生成的 Maven Spring Projekt 的部署不起作用