[英]Removing children in Entity Framework
在我的數據庫模型中,我有4個實體:訂單,服務,客戶,員工。 他們的關系:
客戶0..1-*訂購
訂單1-*服務
員工1-*服務。
我嘗試刪除特定順序的所有服務,但收到InvalidOperationException: 操作失敗:由於一個或多個外鍵屬性不可為空,因此無法更改關系。 對關系進行更改時,相關的外鍵屬性將設置為空值。 如果外鍵不支持空值,則必須定義新的關系,必須為外鍵屬性分配另一個非空值,或者必須刪除不相關的對象。
這是我的代碼:
public static void ClearSevicesInOrder(int orderId)
{
using (DbEntities context = new DbEntities())
{
var o = context.Orders.Find(orderId);
o.Services.Clear();
context.SaveChanges();
}
}
我做錯了什么?
我寫了一篇有關此問題的博客文章,並提出了可能的解決方案。 http://wimpool.nl/blog/DotNet/extending-entity-framework-4-with-parentvalidator
簡而言之:要使其正常工作,您必須刪除“服務”列表中的每個服務
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.