Delete Object and its related entities
c#, c#-4.0, entity-framework, linq-to-entities
Solution
Thanks for the reply. I have solved my problem. Using the same cascade in EDMX. For the explanation i am answering my own question. :)
We have to add `<OnDelete Action="Cascade"></OnDelete>` in EDMX file at two portions
- In SSDL portion
- In CSDL portion
Problem
Does anyone know how to delete an object and all of it's related entities. For example I have tables, Products, Category, ProductCategory and productDetails, the productCategory is joining table of both Product and Category. I have read from http://msdn.microsoft.com/en-us/library/bb738580.aspx that Deleting the parent object also deletes all the child objects in the constrained relationship. This result is the same as enabling the `CascadeDelete` property on the association for the relationship. I am using this code: ``` 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(); ``` But I am getting an error on `ObjectContext.SaveChanges();` I.e., A relationship is being added or deleted from an `AssociationSet` 'FK_ProductCategory_Product'. With cardinality constraints, a corresponding 'ProductCategory' must also be added or deleted.