2014-03-25 67 views
1

我有我想要的序列化實體的樹到一個XML文件,然後實體的那棵樹恢復使用實體框架的另一個數據庫中場景的導入樹。我很好奇,我應該如何去增加孩子的實體?我應該簡單地反序列化的樹,然後調用父節點上context.AddToXXX(xxx)?那也會導入所有的孩子嗎?實體框架:實體

編輯:如果樹已經存在,但是序列化的數據是不同的,會發生什麼,以目前的數據?

回答

1

如果使用Context.DbSet.Add方法,它會將對象圖中的所有實體標記爲新的,並在SaveChanges時嘗試插入它們。

如果使用Context.DbSet.Attach方法,上下文將開始跟蹤所有實體,但它會將它們全部標記爲未修改,並且在SaveChanges時不會對它們執行任何操作。

無論哪種情況,您都可以在調用SaveChanges之前使用Context.Entry().State明確設置實體的狀態。