Ако не искате да заредите свойството, трябва да измамите EF, така че да смята, че свързаният DataItemDetail
е зареден.
var detailItem = new DataItemDetail { Id = d.Id };
_db.DataItemDetails.Attach(detailItem);
_db.DataItems.DeleteObject(d);
_db.SaveChanges();
Проблемът тук е, че разделянето на таблицата използва релация 1:1 и EF знае, че ако изтрие единия край на релацията, трябва да изтрие и другия край, но тъй като не сте заредили другия край, той не може да го направи.