Mysql
 sql >> Base de données >  >> RDS >> Mysql

Supprimer l'entité dans EF4 sans charger l'entité entière

Si vous ne voulez pas charger la propriété, vous devez tromper EF pour qu'il pense que le DataItemDetail associé est chargé.

var detailItem = new DataItemDetail { Id = d.Id }; 
_db.DataItemDetails.Attach(detailItem);
_db.DataItems.DeleteObject(d);
_db.SaveChanges();

Le problème ici est que le fractionnement de table utilise une relation 1:1 et EF sait que s'il supprime une extrémité de la relation, il doit également supprimer l'autre extrémité, mais parce que vous n'avez pas chargé l'autre extrémité, il ne peut pas le faire.