EF 4删除多对多对象

时间:2011-07-02 14:41:57

标签: entity-framework many-to-many

我试图从多对多关系中删除一个对象,但它拒绝使用。

结构如下:

我有一个产品表,每个产品都有产品

我正在尝试使用以下代码删除excProduct

var objectContx = new objectContx();
var prod = objectContx.Products.Where(p => p.ProductID == prodID).FirstOrDefault();
var excProd = objectContx.ExcProducts.Where(exc => exc.ExcProductID == excProdid).FirstOrDefault();
prod.ExcProducts.Attach(excProd);
prod.ExcProducts.Remove(excProd);
objectContx.SaveChanges();

excProd 已从数据库中删除,但当我从objectContext获取产品时,它的列表中包含已删除的excProd。

我怎样才能从objectContext中删除它?

1 个答案:

答案 0 :(得分:0)

如果您的多对多关系具有实体(例如,如果它具有有效负载),则必须删除该实体的实例。这可以手动完成或使用级联删除(在EDMX设计师的关系中查看属性窗口中的选项)。