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.

Original source