Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Excluir entidade no EF4 sem carregar a entidade inteira


Se você não quiser carregar a propriedade, você deve enganar o EF para que ele pense que o DataItemDetail relacionado está carregado.
var detailItem = new DataItemDetail { Id = d.Id }; 
_db.DataItemDetails.Attach(detailItem);
_db.DataItems.DeleteObject(d);
_db.SaveChanges();

O problema aqui é que a divisão de tabelas usa a relação 1:1 e o EF sabe que, se excluir uma extremidade da relação, também deve excluir a outra extremidade, mas porque você não carregou a outra extremidade, não pode fazê-lo.