EF延遲載入LazyLoading

2022-03-12 09:00:56 字數 675 閱讀 4630

只在需要的時候載入資料,不需要預先計畫,避免了各種複雜的外連線、索引、檢視操作帶來的低效率問題

阻止延遲載入解決方案:

1、tolist(),返回的東西是個記憶體級的物件,就是說強迫它在這裡執行了一次sql語句,查詢到的東西被放在web伺服器記憶體裡了,這樣可以達到快取的效果,這就阻止了延遲載入

2、在建構函式等地方寫

contextoptions.lazyloadingenabled = false;
3、去掉屬性裡的virtual

第一:在需要延遲載入的屬性前加上virtual ,該屬性的型別可以是任務的集合型別icolloct或者是0/1..1關聯屬性。

如:

public virtual listproducts
第二:在context構造器中開啟延遲載入功能

會在物件中產生私有字段

貪婪載入/顯示載入

EF延遲載入 懶載入

關於ef懶載入英文翻譯lazyload也俗稱延遲載入 只有是 導航屬性 並且 類是public 字段必須用virtual 才能用延遲載入,ef預設是延遲載入的,什麼是延遲載入呢?延遲載入就是當需要用到集合的時候才會去資料庫取資料,有點是什麼呢?優點就是按需取資料提高了載入的速度,缺點是需要多次執行s...

EF 延遲載入技術

延遲載入 優點 只在需要的時候載入資料,不需要預先計畫,避免了各種複雜的外連線 索引 檢視操作帶來的低效率問題 使用方式 兩步 第一 在需要延遲載入的屬性前加上virtual 該屬性的型別可以是任務的集合型別icolloct或者是0 1.1關聯屬性。如 publicvirtuallistproduc...

EF 延遲載入和預先載入

最近悟出來乙個道理,在這兒分享給大家 學歷代表你的過去,能力代表你的現在,學習代表你的將來。十年河東十年河西,莫欺少年窮 學無止境,精益求精 本節 延遲載入和預先載入 entity framework作為乙個優秀的orm框架,它使得運算元據庫就像操作記憶體中的資料一樣,但是這種抽象是有效能代價的,故...