Wah*_*eed 2 c# linq-to-entities entity-framework c#-4.0
有谁知道如何删除对象及其所有相关实体.
例如,我有表,Products,Category,ProductCategory和productDetails,productCategory正在连接Product和Category的表.
我从http://msdn.microsoft.com/en-us/library/bb738580.aspx上读到
删除父对象还会删除受约束关系中的所有子对象.此结果
CascadeDelete与在关系的关联上启用属性相同 .
我正在使用此代码:
Product productObj = this.ObjectContext.Product.Where(p => p.ProductID.Equals(productID)).First();
if (!productObj.ProductCategory.IsLoaded)
productObj.ProductCategory.Load();
if (!productObj.ProductDetails.IsLoaded)
productObj.ProductDetails.Load();
//my own methods.
base.Delete(productObj);
base.SaveAllObjectChanges();
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误,ObjectContext.SaveChanges();即
正在添加或删除
AssociationSet"FK_ProductCategory_Product"中的关系.使用基数约束时,还必须添加或删除相应的"ProductCategory".
谢谢回复.我已经解决了我的问题.在EDMX中使用相同的级联.为了解释我正在回答我自己的问题.:)
我们必须<OnDelete Action="Cascade"></OnDelete>分两部分添加EDMX文件