日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linq調(diào)用LoadProducts方法

學(xué)習(xí)Linq時,經(jīng)常會遇到Linq調(diào)用LoadProducts方法問題,這里將介紹Linq調(diào)用LoadProducts方法問題的解決方法。

創(chuàng)新互聯(lián)始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10年累計超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:公路鉆孔機(jī)等企業(yè),備受客戶贊揚。

LoadWith方法和Associate With方法

這個例子說明:使用LoadWith方法來確保在檢索客戶信息的同時檢索訂單信息,在檢索訂單信息的同時檢索訂單詳細(xì)信息, 僅僅訪問一次數(shù)據(jù)庫。即可以在一個查詢中檢索許多對象。使用Associate With方法來限制訂單詳細(xì)信息的排序規(guī)則。

 
 
 
  1. NorthwindDataContext db2 = new NorthwindDataContext();
  2. DataLoadOptions ds = new DataLoadOptions();
  3. ds.LoadWith(p => p.Orders);
  4. ds.LoadWith(p => p.OrderDetails);
  5. ds.AssociateWith(
  6. p => p.OrderDetails.OrderBy(o => o.Quantity));
  7. db2.LoadOptions = ds;
  8. var custs = (
  9. from c in db2.Customers
  10. where c.City == "London"
  11. select c);
  12. foreach (var cust in custs)
  13. {
  14. foreach (var ord in cust.Orders)
  15. {
  16. foreach (var orderDetail in ord.OrderDetails)
  17. {
  18. //查詢cust.CustomerID, ord.OrderID
  19. //orderDetail.ProductID, orderDetail.Quantity
  20. }
  21. }
  22. }

語句描述:在原始查詢過程中使用 LoadWith 請求相關(guān)數(shù)據(jù),以便稍后在檢索到的各個對象中導(dǎo)航時此示例還說明在急切加載關(guān)系對象時可以使用 Assoicate With 對它們進(jìn)行排序。

Linq調(diào)用LoadProducts方法

這個例子在Category類里提供了一個LoadProducts分部方法。當(dāng)產(chǎn)品的類別被加載的時候,就直接優(yōu)先Linq調(diào)用LoadProducts方法來查詢沒有貨源的產(chǎn)品。

 
 
 
  1. private IEnumerable LoadProducts(Category category)
  2. {
  3. //在執(zhí)行LINQ to SQL的時候,這個LoadProducts分部方法
  4. //優(yōu)先加載執(zhí)行,這里用存儲過程也可以. 
  5. return this.Products
  6. .Where(p => p.CategoryID == category.CategoryID)
  7. .Where(p => !p.Discontinued);
  8. }

執(zhí)行下面的查詢時,利用上面方法返回的數(shù)據(jù)進(jìn)行下面的操作:

 
 
 
  1. NorthwindDataContext db2 = new NorthwindDataContext();
  2. DataLoadOptions ds = new DataLoadOptions();
  3. ds.LoadWith(p => p.Products);
  4. db2.LoadOptions = ds;
  5. var q = (
  6. from c in db2.Categories
  7. where c.CategoryID < 3
  8. select c);
  9. foreach (var cat in q)
  10. {
  11. foreach (var prod in cat.Products)
  12. {
  13. //查詢cat.CategoryID, prod.ProductID
  14. }
  15. }

語句描述:重寫 Category 類中的分部方法LoadProducts。加載某種類別的產(chǎn)品時,Linq調(diào)用LoadProducts方法以加載此類別中未停產(chǎn)的產(chǎn)品。


分享名稱:Linq調(diào)用LoadProducts方法
當(dāng)前路徑:http://www.5511xx.com/article/cdogscc.html