实体框架,如果它与另一个实体分离,则删除实体

时间:2013-03-21 10:18:11

标签: entity-framework

我有关系模型:

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

例如,Product1有3个Property,当我从product(而不是db)中删除一个属性时,我想在db中删除它,因为它不再在任何地方使用了。 我可以使用EF吗?

1 个答案:

答案 0 :(得分: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();
}