0

这是我现在的模型构建器,但是当我删除用户时,它会将食谱用户 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)

        }
4

1 回答 1

0

我认为您夸大了映射,您只需要将一个实体映射到另一个。

尝试先使用这个;

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);
于 2021-01-27T18:48:20.547 回答