0

我有关系模型:

modelBuilder.Entity<Product>()
      .HasMany(p => p.Properties)
      .WithOptional();

例如,Product1 有 3 个属性,当我从产品(而不是数据库)中删除一个属性时,我想在 db 中删除它,因为它不再在任何地方使用。我可以通过使用 EF 来做到这一点吗?

4

1 回答 1

0

如果您的导航属性不是虚拟的:

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();
}
于 2013-03-21T10:22:44.133 回答