Linq中怎么調(diào)用LoadProducts方法

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Linq中怎么調(diào)用LoadProducts方法,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的吉木薩爾網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

LoadWith方法和Associate With方法

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

NorthwindDataContext db2 = new NorthwindDataContext();  DataLoadOptions ds = new DataLoadOptions();  ds.LoadWith<Customer>(p => p.Orders);  ds.LoadWith<Order>(p => p.OrderDetails);  ds.AssociateWith<Order>(  p => p.OrderDetails.OrderBy(o => o.Quantity));  db2.LoadOptions = ds;  var custs = (  from c in db2.Customers  where c.City == "London"  select c);  foreach (var cust in custs)  {  foreach (var ord in cust.Orders)  {  foreach (var orderDetail in ord.OrderDetails)  {  //查詢cust.CustomerID, ord.OrderID  //orderDetail.ProductID, orderDetail.Quantity  }  }  }

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

Linq調(diào)用LoadProducts方法

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

private IEnumerable<Product> LoadProducts(Category category)  {  //在執(zhí)行LINQ to SQL的時(shí)候,這個(gè)LoadProducts分部方法  //優(yōu)先加載執(zhí)行,這里用存儲(chǔ)過程也可以.   return this.Products  .Where(p => p.CategoryID == category.CategoryID)  .Where(p => !p.Discontinued);  }

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

NorthwindDataContext db2 = new NorthwindDataContext();  DataLoadOptions ds = new DataLoadOptions();  ds.LoadWith<Category>(p => p.Products);  db2.LoadOptions = ds;  var q = (  from c in db2.Categories  where c.CategoryID < 3 select c);  foreach (var cat in q)  {  foreach (var prod in cat.Products)  {  //查詢cat.CategoryID, prod.ProductID  }  }

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

上述就是小編為大家分享的Linq中怎么調(diào)用LoadProducts方法了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:Linq中怎么調(diào)用LoadProducts方法
文章路徑:http://muchs.cn/article14/jcpjge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)標(biāo)簽優(yōu)化、網(wǎng)站排名、營(yíng)銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)