這邊簡單介紹一下,ado.net entity framework 提供的三種查詢方式,
linq to entities
query builder mothed
entity sql language
linq to entities 是最常見的語法,也是用最多的,
來看乙個範例
////示範 linq to enities
using (testentities te = new testentities())
語法是不是跟tsql語法很像呢,
再來看另一種寫法,改用【lambda】
////示範 linq to enities 改用 lambda方式
using (testentities te = new testentities())
兩個範例執行完的結果都一樣,我個人是都採用lambda的方式撰寫。
直接來看範例比較容易了解
////示範 query builder mothed
using (testentities te = new testentities())
在查詢時,可以將要查詢的條件、欄位等語法,利用字串方式傳入,
透過query builder mothed執行。
比較特別的是字串中的 "it" ,是保留字,代表自己。
擷取一段 msdn 上的說明,來解釋甚麼是 entity sql language
」 entity sql language 是與 sql 類似且與儲存體無關的語言。entity sql 的設計目標是用來查詢及管理以 實體資料模型 (edm) 為基礎之物件的豐富物件圖形。」
簡單說 我們可以利用 entity sql language 來執行查詢,"只有查詢唷",不支援更新、新增、刪除等動作,
為什麼要有 entity sql language以及如何使用、跟一般tsql差異等議題,在找機會來介紹,
這邊先簡單看一下示範語法
////示範 entity sql language
using (testentities te = new testentities())
上面的範例的執行結果都是一樣的,
我們來簡單做一下總結
linq to entities
query builder mothed
entity sql language
intellisence0x
x設計時期除錯ox
x動態查詢xo
o對provider產生的sql語法控制
一般較好
最好支援的函式一般多
多開發速度
最佳一般
一般這邊簡單說明了三種查詢方式,
各位可以依照適合的情境去選擇。
EF 三種載入方式
ef資料載入三種方式 延遲載入 飢餓載入 顯示載入 ef中預設是開啟延遲載入 延遲載入 lazy loading 和 的商品列表一樣,下拉重新整理,按需載入。飢餓載入 eager loading 載入父物件時同時載入子物件。顯式載入 explicitly loading 當我們禁用了延遲載入,仍然可...
EF提供的3中查詢方式
1.linq to entities using testentities te new testentities lambda方式 using testentities te new testentities 2.query builder mothed using testentities te...
OSGI提供服務的三種方式
摘要 osgi的乙個標準就是各個bundle之間是相互隔離的,每個bundle都有自己的classloader,並且不同的版本之間都是相互隔離的,這樣就使bundle從物理上進行了隔離,那麼osgi 的bundle之間是怎麼進行通訊的呢?下面我們將要介紹3中方法。bundles之間通訊的方法 方法描...