2012-01-30 25 views
1

我有兩個對象有多對多的關係,我們稱它們爲Book和Category。實體框架中的標準做法 - Code First將把它們映射到一起,並在兩側放置導航屬性,我已經完成了。我在分離的環境中工作,所以我需要序列化我的對象。因此,如果我有兩個Book對象和三個Category對象,其中一個由兩個Book對象共享,我是否會因序列化共享Category兩次而串行化Book對象而遭受性能損失?分別序列化我的Book對象和Category對象並重建序列化後的關係會有益於性能嗎?EF:CF多對多在一個獨立的上下文中

我想這可能取決於串行器。如果任何人有關於最佳方法的其他技巧,我會很感激任何建議。

回答

0

您需要使用參考跟蹤系列化(你必須這樣做也無妨,如果您有導航屬性從BookCategoryCategoryBook否則你將得到循環引用除外)。一旦你使用這個序列化,你的實體將只被序列化一次。

+0

事情是我只使用一個導航屬性,所以它是單方面的,所以沒有循環引用。 – OpticalDelusion 2012-01-31 12:00:32

+0

但重點仍然是一樣的。如果你想避免重複,你需要序列化過程,它能夠跟蹤依賴關係。你要使用什麼序列化? – 2012-01-31 12:08:24