2017-10-11 18 views
0

我目前正在WPF中使用Entity Framework進行項目工作。 我有一個名爲Category的表,其中包含Id,CatNumber,CatName。 我還有一個產品表,其中產品與類別具有一對一的關係。 目前即時通訊嘗試創建某種形式的工作服務單位,因此在應用程序的生命週期內不必打開上下文。 在我對DBContext的問題之一,我想要一個訂單上的所有文章的列表。我嘗試使用:WPF實體框架,包括雙倍數據

from model in 
mainDBContext.Include(o=>o.OrderList.Select(p=>p.Articles.Select(c=>c.Category))) 
where model.CustomerID == 5 select model 

我遇到的問題是,將更改保存到物品時,它更新我的類別表的新行從我的文章的行重複數據。 文章行現在有一個categoryID連接到新添加的行而不是第一個行。

包含問題還是與關係或問題有關?

+0

試試https://stackoverflow.com/questions/6249837/entity-framework-creates-foreign-key-objects-instead-of-using-those-that-are-alr – Kris

+0

謝謝,我會研究一下。 – Mrq

回答

0

這是因爲當你想更新你的實體,該實體是屬於哪個您從得到它的另一種情況下,你應該做的所有的事情就是你的實體附加到當前的背景下,一些類似的代碼是:

context.Articles.Attach(*YourEntityInstance*); 
+0

謝謝,但如果我有一個複雜的對象作爲一個訂單,其中包含一個包含類別的文章列表。我是否需要遍歷所有文章並訪問Category對象並對它們進行附加操作? – Mrq

+0

@Mrq是的,你應該實施一個簡單的方法,並附上所有你不需要的深層次的孩子 –