Linq技巧3 何時及怎麼使用預先載入

2022-01-24 23:43:18 字數 871 閱讀 4787

通常情況在你的應用程式中,一旦你要查詢完資料的的時候,你知道使用實體來做什麼。

假如你列印乙份訂單給顧客,你知道不包括組成訂單的items和products資訊,列印的資訊是不完整的,所以查詢時也需要載入這些資訊。

這類情況,查詢時使用預先載入是很有用的。如果你需要額外的資訊、實體,你可能需要提前載入這些實體資料,這會節省你的查詢次數。

正好與一些錯誤的觀點相反,使用ef進行預先載入是可行的,而且比較方便,你可以簡單地使用include()來寫自己的查詢,像下面的方式:  

var reprint = (from order in ctx.orders.include("

items.product")

where order.customer.name == "

fred blogs

" && order.status == "

unshipped

"select order).first();

這條查詢語句的意思是,這條顧客的訂單包括它們的「明細」,每條「明細」又包括它們的「產品」資訊。

結果的執行語句,不需要再做過多的查詢,如下:  

foreach (var item in

reprint.items)

= $",

item.quantity,

item.product.name,

item.cost);

} console.writeline(reprint.totalcost);

備註:這樣查詢不需要明確再使用include("items"),include("items.product")的使用明確地包括了「items」。

LINQ語言技巧總結

linq language integrated query 語言整合查詢是一組用於c 和visual basic語言的擴充套件。它允許編寫c 或者visual basic 以查詢資料庫相同的方式操作記憶體資料。1.linq查詢時,查詢出的結果並不能像一般的sql查詢一樣可以更改欄位的名稱為 xx ...

LINQ簡記(3) 子句

linq查詢表示式的子句如select,where,from等都是比較簡單的子句,相信各位多練習練習,再結合msdn的例子,基本上是可以理解的,因此,本文只挑幾個有代表性的,以及有些難理解的子句來簡述一下。一 where子句。在sql中,篩選語句常用的表示方式如 select from users ...

LINQ簡記(3) 子句

linq查詢表示式的子句如select,where,from等都是比較簡單的子句,相信各位多練習練習,再結合msdn的例子,基本上是可以理解的,因此,本文只挑幾個有代表性的,以及有些難理解的子句來簡述一下。一 where子句。在sql中,篩選語句常用的表示方式如 select from users ...