Linq中怎么调用LoadProducts方法

这期内容当中小编将会给大家带来有关Linq中怎么调用LoadProducts方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的吉木萨尔网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

LoadWith方法和Associate With方法

这个例子说明:使用LoadWith方法来确保在检索客户信息的同时检索订单信息,在检索订单信息的同时检索订单详细信息, 仅仅访问一次数据库。即可以在一个查询中检索许多对象。使用Associate With方法来限制订单详细信息的排序规则。

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 请求相关数据,以便稍后在检索到的各个对象中导航时此示例还说明在急切加载关系对象时可以使用 Assoicate With 对它们进行排序。

Linq调用LoadProducts方法

这个例子在Category类里提供了一个LoadProducts分部方法。当产品的类别被加载的时候,就直接优先Linq调用LoadProducts方法来查询没有货源的产品。

private IEnumerable<Product> LoadProducts(Category category)  {  //在执行LINQ to SQL的时候,这个LoadProducts分部方法  //优先加载执行,这里用存储过程也可以.   return this.Products  .Where(p => p.CategoryID == category.CategoryID)  .Where(p => !p.Discontinued);  }

执行下面的查询时,利用上面方法返回的数据进行下面的操作:

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。加载某种类别的产品时,Linq调用LoadProducts方法以加载此类别中未停产的产品。

上述就是小编为大家分享的Linq中怎么调用LoadProducts方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。

网站题目:Linq中怎么调用LoadProducts方法
文章路径:https://www.cdcxhl.com/article14/jcpjge.html

成都网站建设公司_创新互联,为您提供移动网站建设网站导航网站设计标签优化网站排名营销型网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设