返回顶部
首页 > 资讯 > 精选 >Linq DataLoadOptions怎么用
  • 135
分享到

Linq DataLoadOptions怎么用

2023-06-17 21:06:26 135人浏览 薄情痞子
摘要

小编给大家分享一下Linq DataLoadOptions怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linq DataLoadOptions限制Linq

小编给大家分享一下Linq DataLoadOptions怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Linq DataLoadOptions限制

Linq to sql对Linq DataLoadOptions的使用是有限制的,它只支持1个1对多的关系。一个顾客可能有多个订单,一个订单可能有多个详细订单:

DataLoadOptions options = new DataLoadOptions();  options.LoadWith<Customer>(c => c.Orders);  options.LoadWith<Order>(o => o.Order_Details);  ctx.LoadOptions = options;  IEnumerable<Customer> customers = ctx.Customers.ToList<Customer>();

这样的语句执行后会导致下面的SQL执行N次(参数不同):

  1. SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], 
    [t0].[RequiredDate], [t0].[ShippedDate], [t0].[ShipVia], [t0].[Freight], [t0].
    [ShipName], [t0].[ShipAddress], [t0].[ShipCity], [t0].[ShipRegion], [t0].
    [ShipPostalCode], [t0].[ShipCountry], [t1].[OrderID] AS [OrderID2], [t1].
    [ProductID], [t1].[UnitPrice], [t1].[Quantity], [t1].[Discount], (  

  2. SELECT COUNT(*)  

  3. FROM [dbo].[Order Details] AS [t2]  

  4. WHERE [t2].[OrderID] = [t0].[OrderID]  

  5. ) AS [count]  

  6. FROM [dbo].[Orders] AS [t0]  

  7. LEFT OUTER JOIN [dbo].[Order Details] AS [t1] ON [t1].[OrderID] = [t0].[OrderID]  

  8. WHERE [t0].[CustomerID] = @x1  

  9. ORDER BY [t0].[OrderID], [t1].[ProductID]  

  10. -- @x1: Input StringFixedLength (Size = 5; Prec = 0; Scale = 0) [ALFKI] 

而对于多对1的关系,Linq to sql对于Linq DataLoadOptions没有限制:

DataLoadOptions options = new DataLoadOptions();  options.LoadWith<Product>(c => c.CateGory);  options.LoadWith<Product>(c => c.Order_Details);  options.LoadWith<Order_Detail>(o => o.Order);  ctx.LoadOptions = options;  IEnumerable<Product> products = ctx.Products.ToList<Product>();

由于多个产品对应1个分类,多个详细订单对应1个订单,只有产品和详细订单才是多对1的关系,所以也只会有1次SQL(不过这样的操作还是少执行为妙,消耗太大了)

  1. SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID], [t0].
    [CategoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice], [t0].
    [UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel], [t0].
    [Discontinued], [t3].[OrderID], [t3].[ProductID] AS [ProductID2], [t3].
    [UnitPrice] AS [UnitPrice2], [t3].[Quantity], [t3].[Discount], [t4].
    [OrderID] AS [OrderID2], [t4].[CustomerID], [t4].[EmployeeID], [t4].
    [OrderDate], [t4].[RequiredDate], [t4].[ShippedDate], [t4].[ShipVia], 
    [t4].[Freight], [t4].[ShipName], [t4].[ShipAddress], [t4].[ShipCity], 
    [t4].[ShipRegion], [t4].[ShipPostalCode], [t4].[ShipCountry], (  

  2. SELECT COUNT(*)  

  3. FROM [dbo].[Order Details] AS [t5]  

  4. INNER JOIN [dbo].[Orders] AS [t6] ON [t6].[OrderID] = [t5].[OrderID]  

  5. WHERE [t5].[ProductID] = [t0].[ProductID]  

  6. ) AS [count], [t2].[test], [t2].[CategoryID] AS [CategoryID2], [t2].
    [CategoryName], [t2].[Description], [t2].[Picture]  

  7. FROM [dbo].[Products] AS [t0]  

  8. LEFT OUTER JOIN (  

  9. SELECT 1 AS [test], [t1].[CategoryID], [t1].[CategoryName], [t1].
    [Description], [t1].[Picture]  

  10. FROM [dbo].[Categories] AS [t1]  

  11. ) AS [t2] ON [t2].[CategoryID] = [t0].[CategoryID]  

  12. LEFT OUTER JOIN ([dbo].[Order Details] AS [t3]  

  13. INNER JOIN [dbo].[Orders] AS [t4] ON [t4].[OrderID] = [t3].
    [OrderID]) ON [t3].[ProductID] = [t0].[ProductID]  

  14. ORDER BY [t0].[ProductID], [t2].[CategoryID], [t3].[OrderID] 

以上是“Linq DataLoadOptions怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Linq DataLoadOptions怎么用

本文链接: https://lsjlt.com/news/293716.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linq DataLoadOptions怎么用
    小编给大家分享一下Linq DataLoadOptions怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linq DataLoadOptions限制Linq...
    99+
    2023-06-17
  • LINQ to XML怎么用
    小编给大家分享一下LINQ to XML怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、LINQ to XML入门LINQ to XML 是一种启用了 L...
    99+
    2023-06-17
  • LINQ中LINQPad怎么用
    小编给大家分享一下LINQ中LINQPad怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!LINQPad支持C# 3.0 和 Framework 3.5的全部...
    99+
    2023-06-18
  • LINQ嵌套怎么使用
    这篇文章主要介绍“LINQ嵌套怎么使用”,在日常操作中,相信很多人在LINQ嵌套怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ嵌套怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!LI...
    99+
    2023-06-17
  • LINQ To XML怎么使用
    这篇文章主要讲解了“LINQ To XML怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ To XML怎么使用”吧!LINQ To XML——XML操作XML数据越来越广泛地...
    99+
    2023-06-17
  • Linq Setting字段怎么用
    这篇文章将为大家详细讲解有关Linq Setting字段怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linq Setting字段存储本文介绍Linq Setting字段,这个用过Linq的人都知道...
    99+
    2023-06-17
  • LINQ查询怎么使用
    本篇内容主要讲解“LINQ查询怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ查询怎么使用”吧!LINQ是Visual Studio 2008及其以后版本中提供的功能,将强大的查询...
    99+
    2023-06-17
  • LINQ Customers类怎么使用
    本篇内容介绍了“LINQ Customers类怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!建立dbml(Database Mark...
    99+
    2023-06-17
  • Linq实体继承怎么用
    这篇文章将为大家详细讲解有关Linq实体继承怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linq实体继承使用定义好实体继承之后,我们就可以Linq实体继承使用了。先是自定义一个DataContex...
    99+
    2023-06-17
  • LINQ Where子句怎么用
    小编给大家分享一下LINQ Where子句怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!LINQ Where子句其实是用扩展方法来实现的微软替我们实现的 LINQ Where子句对应的扩...
    99+
    2023-06-17
  • Linq Select子句怎么使用
    本篇内容主要讲解“Linq Select子句怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linq Select子句怎么使用”吧!选择数据(SELECT)Linq Select...
    99+
    2023-06-17
  • LINQ的Customers类怎么使用
    本篇内容介绍了“LINQ的Customers类怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!LINQ 究竟是什么?LINQ,全名叫 ...
    99+
    2023-06-17
  • c#中的LINQ怎么使用
    这篇文章主要介绍“c#中的LINQ怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“c#中的LINQ怎么使用”文章能帮助大家解决问题。一.并行LINQSystem.Linq名称空间中包含的类Pa...
    99+
    2023-06-30
  • LINQ是什么及怎么使用
    本文小编为大家详细介绍“LINQ是什么及怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“LINQ是什么及怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、为什么要使用LINQ要理解为什么使用LIN...
    99+
    2023-06-29
  • Linq中怎么调用SubmitChanges方法
    本篇文章给大家分享的是有关Linq中怎么调用SubmitChanges方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 当Linq SubmitChanges方法时,LINQ...
    99+
    2023-06-17
  • LINQ中Lambda表达式怎么用
    小编给大家分享一下LINQ中Lambda表达式怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linq有很多值得学习的地方,这里我们主要介绍LINQ Lamb...
    99+
    2023-06-17
  • Linq中怎么调用LoadProducts方法
    这期内容当中小编将会给大家带来有关Linq中怎么调用LoadProducts方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。LoadWith方法和Associate With方法这个例子说明:使用Loa...
    99+
    2023-06-17
  • LINQ查询表达式怎么用
    这篇文章主要介绍了LINQ查询表达式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。from子句负责指定LINQ查询操作中的数据源和范围变量每一个LINQ查询表达式都必须...
    99+
    2023-06-17
  • LINQ to SQL数据表怎么用
    这篇文章主要为大家展示了“LINQ to SQL数据表怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LINQ to SQL数据表怎么用”这篇文章吧。在LINQ to SQL数据表里面都是用...
    99+
    2023-06-17
  • LINQ模糊查询怎么使用
    本篇内容主要讲解“LINQ模糊查询怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ模糊查询怎么使用”吧!LINQ模糊查询实现的多条件复合搜索效果如下图:LINQ模糊查询实现阶段一:...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作