2013-10-25 22 views
0

嘗試刪除實體時收到前面提到的錯誤。實體框架5無法更改關係,因爲一個或多個外鍵屬性不可爲空

該實體具有列表表的外鍵,但是我可以從Heidi MySql客戶端刪除沒有問題的數據庫條目。

我想清除子實體,但是當我在上下文中調用SaveChanges時,它會拋出提到的錯誤。

nquote_orderheaders header = portalDb.nquote_orderheaders.Single(f => f.QuoteOrderNumber == id); 

     header.nquote_orderlines.Clear(); 
     portalDb.SaveChanges(); 
     portalDb.nquote_orderheaders.Remove(header); 
     portalDb.SaveChanges(); 

回答

0

在導航屬性上使用.Clear()不會將它們從數據庫中刪除,它只會清除您的代碼中的集合。您需要迭代您的訂單以逐個刪除它們。

另一種可能性是啓用級聯刪除功能,該功能允許在刪除父實體時刪除子實體。

相關問題