我有关系模型:
modelBuilder.Entity<Product>()
.HasMany(p => p.Properties)
.WithOptional();
例如,Product1 有 3 个属性,当我从产品(而不是数据库)中删除一个属性时,我想在 db 中删除它,因为它不再在任何地方使用。我可以通过使用 EF 来做到这一点吗?
我有关系模型:
modelBuilder.Entity<Product>()
.HasMany(p => p.Properties)
.WithOptional();
例如,Product1 有 3 个属性,当我从产品(而不是数据库)中删除一个属性时,我想在 db 中删除它,因为它不再在任何地方使用。我可以通过使用 EF 来做到这一点吗?
如果您的导航属性不是虚拟的:
using(var db = new YourDbContext()
{
var product = db.Products.FirstOrDefault(x => ...);
product.Properties.RemoveAll(x => ...);
db.SaveChanges();
}
否则:
using(var db = new YourDbContext()
{
var product = db.Products.Include("Properties").FirstOrDefault(x => ...);
product.Properties.RemoveAll(x => ...);
db.SaveChanges();
}