Supprimer l'Objet et ses entités liées

Personne ne sait comment faire pour supprimer un objet et tous ses entités liées.

Par exemple, j'ai des tables, des Produits, de la Catégorie, ProductCategory et productDetails, le productCategory se joindre à la table d'à la fois Produit et de la Catégorie.

J'ai lu de http://msdn.microsoft.com/en-us/library/bb738580.aspx que

La suppression de l'objet parent également la suppression de tous les objets enfants dans le
contraint relation. Ce résultat est le même que l'activation de l'
CascadeDelete de propriété sur l'association pour la relation.

Je suis en utilisant ce 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();

Mais j'obtiens une erreur sur ObjectContext.SaveChanges(); I. e.,

Une relation est en train d'être ajoutés ou supprimés à partir d'un AssociationSet 'FK_ProductCategory_Product'. Avec contraintes de cardinalité, un correspondant "ProductCategory" doit également être ajoutés ou supprimés.

OriginalL'auteur Waheed | 2010-03-18