Mysql
 sql >> Database >  >> RDS >> Mysql

Elimina l'entità in EF4 senza caricare l'intera entità

Se non vuoi caricare la proprietà devi ingannare EF in modo che pensi che il relativo DataItemDetail è caricato.

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

Il problema qui è che la divisione della tabella utilizza la relazione 1:1 ed EF sa che se elimina un'estremità della relazione dovrebbe eliminare anche l'altra estremità, ma poiché non hai caricato l'altra estremità non può farlo.