有誰知道如何刪除一個對象及其所有相關實體。刪除對象及其相關實體
例如,我有表,產品,類別,ProductCategory和productDetails,productCategory正在連接產品和類別的表。
我從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();
但我對ObjectContext.SaveChanges();
即得到一個錯誤,被添加或從AssociationSet
'FK_ProductCategory_Product' 刪除
的關係。由於基數限制,還必須添加或刪除相應的「ProductCategory」。
這通常是正確的(+1),但如果你這樣做,你應該真的有一個數據庫級聯。 – 2010-03-18 13:41:16