Code First 延遲裝入特性

2022-02-19 19:12:01 字數 828 閱讀 2168

使用orm框架,基本上都會新增「延遲裝入」的特性支援,當使用entity framwork 的objectcontext與dbcontext運算元據時,預設都使用「延遲裝入」,也就是當我們在應用程式裡通過linq to entity查詢資料時,如果遇到關聯資料尚未裝入時,entity framwork會自動幫我買再向資料庫索取相關資料,全自動地取得相關資料,大幅度降低撰寫訪問相關資料的程式**。

例如:

using system;

using system.collections.generic;

namespace mvc.models

public string message 

public datetime creaton 

public virtual icollectionmembers 

}public class member

public string name 

public string email 

public virtual gustbook gusetbooks 

}}假設有個gustbook 物件要取得message欄位的值,只要輸入以下程式即可:

gustbook.message

但如果想要取得gustbook關聯物件member資料表中的name欄位,則通過點語法加上乙個「點」與「屬性名稱」即可:

gustbook.member.name

注意:在code first開發時,若要取得「延遲裝入」特性,必須在屬性宣告加上virture關鍵字,例如上面member表中的

public virtual gustbook gusetbooks

Linq之延遲載入特性

寫在前面 系列文章 延遲載入 總結上篇文章介紹了linq中常見的幾個關鍵字,並列舉了幾個例子,算是對linq如何使用有了初步了解。上篇文章中也提到了,能夠使用linq的場合有乙個要求 實現ienumerable泛型介面,或者型別相容 可以通過cast方法轉換,比如arraylist linq之lam...

Linq之延遲載入特性

寫在前面 系列文章 延遲載入 總結上篇文章介紹了linq中常見的幾個關鍵字,並列舉了幾個例子,算是對linq如何使用有了初步了解。上篇文章中也提到了,能夠使用linq的場合有乙個要求 實現ienumerable泛型介面,或者型別相容 可以通過cast方法轉換,比如arraylist linq之lam...

LINQ中的 延遲查詢 特性

很多標準查詢操作符的設計原型都是返回乙個ienumerable型別的序列,這些標準查詢操作實際上不會在 執行到那一行的時候就返回乙個序列,事實上返回的是乙個物件.當在列舉 比如foreach 這個物件的時候會從ienumerable序列中生成乙個元素,這個時候才會真正執行查詢操作.這就是所謂的 延遲...