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

Slet entitet i EF4 uden at indlæse hele entiteten

Hvis du ikke vil indlæse egenskaben, skal du snyde EF, så den tror, ​​at den relaterede DataItemDetail er indlæst.

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

Problemet her er, at tabelopdeling bruger 1:1 relation, og EF ved, at hvis den sletter den ene ende af relationen, bør den også slette den anden ende, men fordi du ikke indlæste den anden ende, kan den ikke gøre det.



  1. Spring Boot JPA MySQL :Kunne ikke bestemme en passende driverklasse

  2. Konverter en række til flere rækker med færre kolonner

  3. Simpel parametrering og trivielle planer — del 2

  4. Liste over fremmednøgler og de tabeller, de refererer til i Oracle DB