2012-09-10 31 views
0

我在嘗試編輯與EF代碼第一個實體,當這個錯誤:錯誤編輯與實體時,EF代碼優先

參照完整性約束衝突發生了:該屬性定義參照約束 值在關係中的主體和從屬對象之間不一致的 。

我的實體是與國家有關係的生產者。我的編輯代碼如下所示:

Producer producer = this.DataContext as Producer; 
context.Producers.Attach(producer); 
context.Entry(producer).State = EntityState.Modified; 
context.SaveChanges(); 
+0

「Producer」引用的其他實體是什麼? – Eranga

+0

@Eranga生產者有一個國家(可選),也有許多產品。但我找到了解決方案並回答了我的問題。 –

回答

0

我找到了一個解決方案。我使用下面的代碼,它工作正常,但我仍然不確定是否最好的方法。

Producer producer = this.DataContext as Producer; 
Producer p = context.Producers.Find(producer.Id); 
context.Entry(p).CurrentValues.SetValues(producer); 
context.SaveChanges();