2013-02-09 175 views
6

不是對實體框架(v4)實體標記虛擬導航屬性有什麼影響?實體框架虛擬屬性

如果我不使用延遲加載,但忽略正確加載,訪問(未加載)屬性時會發生什麼?

延遲加載之外還會有其他影響,還是需要虛擬導航屬性的主要功能?

回答

7

有兩個影響。一種是延遲加載,如果該屬性不是virtual,則該功能不起作用。但延遲加載並不總是你想要的東西。

第二個是變化檢測。如果您使用的是純POCO或正在使用代理服務器,但不會生成屬性virtual,則更改涉及更改檢測。

您可以瞭解更多關於更改檢測here

0

如果您想知道POCO對象是否支持延遲加載,那麼我認爲您會很高興知道您也可以使用POCO獲得延遲加載。

有你需要爲了得到延遲加載的支持與POCO實體做兩件事情:

  1. 聲明您想懶洋洋地加載的虛擬財產。這些屬性可以是任何實現ICollection的集合類型,也可以是代表1/0..1關係的引用。

  2. 上下文啓用延遲加載

MSDN's "POCO in the Entity Framework" post