6
我在我的項目中使用EntityFramework POCO +代理+延遲加載。今天,我很驚訝地發現類Transaction
的相關集合Rows
實現爲HashSet
(而不是EntityCollection
)。我需要EntityCollection
來跟蹤收藏中的更改。實體框架相關的ICollection實現到HashSet
public class Transaction
{
public virtual ICollection<TransactionRow> Rows { get; set; }
}
但是其他實體類將其相關集合實現爲EntityCollection
。
我正在通過ObjectQuery
加載Transaction
,所以它應該在上下文中。該對象的代理也被創建。
任何人都可以告訴 - 實體框架如何決定使用什麼 - HashSet或EntityCollection?爲什麼有些東西變成HashSets?
Ouch,我剛剛檢查了班,並意識到收集沒有標記爲虛擬:)謝謝你的提示! – Jefim 2010-09-13 08:15:20