2013-07-21 39 views
0

我在我的數據庫中有兩個表格,一對一的關係,是一個弱關係。如何刪除一對一關係中的實體?

影片(IDVideo,IDType,一年,...) 意甲(IDSerie,IDVideo,...)

當我嘗試改變視頻的類型,如果新的類型不是意甲,我想刪除屬於此視頻的系列表中的行。所以我遵循這個步驟:

Videos myVideoDB = myContext.Videos.Include("Series").Where(v=>v.IDVideo == paramVideo.IDVideo).FirstOrDefault<Videos>(); 

myContext.Series.Remove(myVideoDB.Series.ElementAt(0)); 

在第二條線我得到以下錯誤:

Multiplicity constraint violated. The role 'videos' of the relationship 'xxx' has the multiplicity 1 or 0..1. 

爲什麼?我認爲,當我刪除意甲時,DbContext知道它必須從視頻集合中刪除該實體。否則,我嘗試從視頻集合中首先刪除該實體,然後刪除該系列,但問題未解決。

謝謝。

回答

0

好了,解決的辦法是,我需要從本地刪除實體系列中的DbContext:

long idSerie = miVideoDB.Series.ElementAt(0).IDSerie; 
myVideoDB.Series.Clear(); 
miContexto.Series.Local.Remove(miContexto.Series.Local.FirstOrDefault<Series>(s => s.IDSerie == idSerie)); 

我需要的是先拿到意甲的ID,然後清除在系列集合我視頻和finllay從本地刪除系列。

相關問題