2014-11-04 37 views
0

我使用EF 6.1,數據庫優先。我有懶惰加載已禁用集合導航屬性何時不被初始化?

如果我加載一個沒有Eager的實體加載它的集合導航屬性,我會不會擔心這些導航屬性沒有正確初始化?我應該能夠使用entity.collectionnavigationproperty.Add(新實體),而不必擔心首先初始化集合導航屬性?

+0

在模型的構造函數中初始化您的集合是個好主意。看看這篇文章http://stackoverflow.com/q/5982254/673105 – DFord 2014-11-04 06:11:14

+0

數據庫首先創建我的模型。如果我修改代碼,每次從數據庫更新模型時都會覆蓋它。這樣做對我來說並不直觀。在使用new()創建或加載到內存的實體中的集合導航屬性並不是null,並且在向集合屬性使用.Add()時似乎工作正常。我似乎在這裏忽略了這一點。我應該修改我的DF創建POCO以初始化(以及使用哪些)集合導航屬性? – Intensivist 2014-11-04 11:14:26

回答

0

我不確定它是如何工作的模型創建沒有數據庫第一,但似乎所有具有集合導航屬性的實體在構造函數初始化與HashSet <>。這就是爲什麼我沒有遇到與空值或添加失敗的問題。