這期內容當中小編將會給大家?guī)碛嘘PLinq中怎么調用LoadProducts方法,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計制作、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的吉木薩爾網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
LoadWith方法和Associate With方法
這個例子說明:使用LoadWith方法來確保在檢索客戶信息的同時檢索訂單信息,在檢索訂單信息的同時檢索訂單詳細信息, 僅僅訪問一次數據庫。即可以在一個查詢中檢索許多對象。使用Associate With方法來限制訂單詳細信息的排序規(guī)則。
NorthwindDataContext db2 = new NorthwindDataContext(); DataLoadOptions ds = new DataLoadOptions(); ds.LoadWith(p => p.Orders); ds.LoadWith (p => p.OrderDetails); ds.AssociateWith ( 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 請求相關數據,以便稍后在檢索到的各個對象中導航時此示例還說明在急切加載關系對象時可以使用 Assoicate With 對它們進行排序。
Linq調用LoadProducts方法
這個例子在Category類里提供了一個LoadProducts分部方法。當產品的類別被加載的時候,就直接優(yōu)先Linq調用LoadProducts方法來查詢沒有貨源的產品。
private IEnumerableLoadProducts(Category category) { //在執(zhí)行LINQ to SQL的時候,這個LoadProducts分部方法 //優(yōu)先加載執(zhí)行,這里用存儲過程也可以. return this.Products .Where(p => p.CategoryID == category.CategoryID) .Where(p => !p.Discontinued); }
執(zhí)行下面的查詢時,利用上面方法返回的數據進行下面的操作:
NorthwindDataContext db2 = new NorthwindDataContext(); DataLoadOptions ds = new DataLoadOptions(); ds.LoadWith(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。加載某種類別的產品時,Linq調用LoadProducts方法以加載此類別中未停產的產品。
上述就是小編為大家分享的Linq中怎么調用LoadProducts方法了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。