如何配置模型生成器在删除用户时删除所有食谱,但在删除食谱时保留用户?



这是我现在的模型生成器,但是当我删除用户时,它将recipes userid设置为null。

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);

最新更新