我正在try 使用EF代码优先删除数据库记录(deleteMe
)及其子记录(deleteMe.Prices
).
foreach (var deleteMe in deleteThese)
{
// Delete validation
if(CanDeleteItem(deleteMe.ItemId))
{
db.Entry(deleteMe).State = EntityState.Deleted;
foreach (var item in deleteMe.Prices)
{
db.Entry(item).State = EntityState.Deleted; // cascade delete
}
}
}
db.SaveChanges();
但是,实体框架似乎无法跟踪子记录应该在父记录之前删除的事实.我得到了错误:
DELETE语句与引用约束"ItemPrice_Item"冲突
我将如何在EF中执行此删除?