Asp.net core 如何删除外部实体,然后从数据库中删除该实体

Asp.net core 如何删除外部实体,然后从数据库中删除该实体,asp.net-core,entity-framework-core,entity-framework-core-3.0,Asp.net Core,Entity Framework Core,Entity Framework Core 3.0,在EF core 2.1中,这一切都很好: EntityEntry<Product> product = dbContext.Attach(new Product { productid = productID.Value, bildID = null }); product.Property(x => x.bildID).IsModified = true; Document oldBild = new Document(oldBildID.Value); dbContext

在EF core 2.1中,这一切都很好:

EntityEntry<Product> product = dbContext.Attach(new Product { productid = productID.Value, bildID = null });
product.Property(x => x.bildID).IsModified = true;
Document oldBild = new Document(oldBildID.Value);
dbContext.Attach(oldBild);
dbContext.Remove(oldBild);
dbContext.SaveChanges();
EntityEntry product=dbContext.Attach(新产品{productid=productid.Value,bildID=null});
product.Property(x=>x.bildID).IsModified=true;
文档oldBild=新文档(oldBild.Value);
dbContext.Attach(oldBild);
dbContext.Remove(oldBild);
dbContext.SaveChanges();
但在EF core 3.0中,这已经不起作用了,我得到了外键约束例外。 我现在该怎么做?
我想将所有这些都保存在一个事务中。

产品和文档的关联性如何?您确定要输入匹配的ID值吗?产品有很长一段时间?Bildie指向分配给它的文档。是的,非常确定ID是匹配的,因为这是我迁移到EF core 3.0的一个项目,并且在EF core 2.1上工作没有问题。我怀疑它想让我在取消分配bildID之前删除context.SaveChanges(),但我希望这是在1事务中。您必须对级联删除做了一些不同的操作。