iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >LINQ to DataSet如何实现查询
  • 931
分享到

LINQ to DataSet如何实现查询

2023-06-17 22:06:10 931人浏览 泡泡鱼
摘要

这篇文章主要介绍了LINQ to DataSet如何实现查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。LINQ to DataSet主要是提供对离线数据的支持,只有在填充

这篇文章主要介绍了LINQ to DataSet如何实现查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

LINQ to DataSet主要是提供对离线数据的支持,只有在填充DataSet之后,我们才能使用LINQ to DataSet查询数据。其功能主要是通过System.Data.DataRowExtions和System.Data.DataTableExtensions两个静态类中的扩展方法来公开的。LINQ to DataSet是LINQ to ADO.net中的一部分,但这部分所占比重非常小,内容也比较少。

下面就让我们首先来看看DataTableExtensions中的扩展方法:

  1. public static EnumerableRowCollection<DataRow> 
    AsEnumerable(this DataTable source)  

  2.  

  3. public static DataView AsDataView(this DataTable table)  

  4. public static DataView AsDataView<T>
    (this EnumerableRowCollection<T> source) where T : DataRow  

  5.  

  6. public static DataTable CopyToDataTable<T>
    (this IEnumerable<T> source) where T : DataRow  

  7. public static void CopyToDataTable<T>(this IEnumerable<T> source,
    DataTable table,LoadOption options) where T : DataRow  

  8. public static void CopyToDataTable<T>(this IEnumerable<T> source,
    DataTable table,LoadOption options,FillErrorEventHandler errorHandler)
    where T : DataRow 

从定义中就可以看出这三类主要是提供DataTable、DataView和IEnumerable三者之间的转换。大家都知道LINQ to Object查询主要是对IEnumerable序列进行的操作,这样就使得DataTable、DataView和LINQ之间建立了一个转换桥梁。

因此,在我们需要将DataTable应用于LINQ to DataSet查询是要先调用AsEnumerable完成DataTable到LINQ的转换。如果我们需要将LINQ to DataSet查询的结果进行数据绑定时我们需要调用AsDataView的泛型版来完成LINQ到DataView的转换。当然我们也可以使用CopyToDataTable来进行LINQ到DataTable的转换。

注意:如果在我们完成了DataTable到LINQ(IEnumerable) 的转换之后(也就是调用AsEnumerable扩展方法),需要进行两个DataRow序列的集合操作如 Distinct,UNIOn,Except,Intersect,SequenceEqual,这些操作都需要对数据源中的元素进行相等比较,由于缺省情况下都是调用数据源中的元素的GetHashCode和Equals操作来判断的,对于DataRow而言就是判断对象的引用是否相等,这样可能会导致我们不期望的结果(DataRow里面的数据内容是相同的,但不是同一个对象),所以我们要使用 Distinct,Union,Except,Intersect,SequenceEqual带IEqualityComparer的重载版本,使用 System.Data.DataRowComparer.Default作为参数。这个比较器类是.Net3.5专门为LINQ to DataSet新增加的,用于比较DataRow的值的,它是通过先比较DataColumn的数量,然后使用该列中类型的Equals方法进行比较。

不带LoadOptions参数的CopyToDataTable方法将自动为每一行的每一个字段创建(更新)原始版本和当前版本,带有 LoadOptions参数的CopyToDataTable重载版本可以让你指定是创建(更新)原始版本或是当前版本,或者两者都填充。 LoadOptions选项有下面三个选项值可以选择:
◆OverwriteChanges: 创建(更新)每一列的当前值和原始值
◆PreserveChanges: 创建(更新)每一列的原始值
◆Upset: 创建(更新)每一列的当前值

感谢你能够认真阅读完这篇文章,希望小编分享的“LINQ to DataSet如何实现查询”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: LINQ to DataSet如何实现查询

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • LINQ to DataSet如何实现查询
    这篇文章主要介绍了LINQ to DataSet如何实现查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。LINQ to DataSet主要是提供对离线数据的支持,只有在填充...
    99+
    2023-06-17
  • linq to sql多表查询怎么实现
    这篇文章主要讲解了“linq to sql多表查询怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linq to sql多表查询怎么实现”吧!在手写sql的年代,如果想从sqlserv...
    99+
    2023-06-17
  • LINQ如何实现查询操作
    这篇文章主要介绍了LINQ如何实现查询操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。LINQ,语言级集成查询(Language INtegrated Query)经过了最...
    99+
    2023-06-17
  • 如何实现LINQ查询语句
    本篇文章给大家分享的是有关如何实现LINQ查询语句,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现LINQ查询语句有三个步骤,他们分别是获取数据源(任何查询的必备工作)、创建...
    99+
    2023-06-17
  • LINQ如何实现查询表达式
    这篇文章主要介绍了LINQ如何实现查询表达式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。新建一个叫Step1.aspx的新页面。添加一个GridView控件到页面中,如下所...
    99+
    2023-06-17
  • 如何使用LINQ查询
    这篇文章主要介绍了如何使用LINQ查询,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。.NET Language Integrated Query (LINQ):采用通用方案来...
    99+
    2023-06-17
  • LINQ查询如何使用
    这篇文章主要讲解了“LINQ查询如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ查询如何使用”吧!LINQ查询成为了.NET中头等的编程概念,被查询的数据可以是XML(LINQ...
    99+
    2023-06-17
  • Linq中怎么实现连接查询
    今天就跟大家聊聊有关Linq中怎么实现连接查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linq连接查询之前先建立两个查询:using (DataClassesData...
    99+
    2023-06-17
  • linq中怎么实现多表查询
    这篇文章给大家介绍linq中怎么实现多表查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1:1关系的多表操作表结构如上首先是测试取全记录的情况(也就是取所有字段)linq多表查询之直接写表达式var use...
    99+
    2023-06-17
  • LINQ中怎么实现动态查询
    今天就跟大家聊聊有关LINQ中怎么实现动态查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。LINQ动态查询实现实例:case 'L': &nbs...
    99+
    2023-06-17
  • LINQ中怎么实现嵌套查询
    这篇文章将为大家详细讲解有关LINQ中怎么实现嵌套查询,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。LINQ嵌套查询应用实例:如果我们需要取出市场部的所有员工,在以往的O/R Mapping...
    99+
    2023-06-17
  • LINQ如何查询数据库
    这篇文章给大家分享的是有关LINQ如何查询数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。您可以通过LINQ来编写针对各种数据源的查询访问信息。您不必在使用SQL语法,因为LINQ提供了c#语言来处理,并提供...
    99+
    2023-06-17
  • 如何用LINQ进行查询
    本篇内容介绍了“如何用LINQ进行查询”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!LINQ to XML 提供使用 .NET 语言集成查询...
    99+
    2023-06-17
  • Linq中怎么实现多条件查询
    这篇文章将为大家详细讲解有关Linq中怎么实现多条件查询,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Linq多条件查询(高级搜索),假如一共可以输入5个条件,但是用户根据需要可能只输2个或...
    99+
    2023-06-17
  • LINQ如何实现子查询和延迟执行编程
    这篇文章将为大家详细讲解有关LINQ如何实现子查询和延迟执行编程,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。LINQ子查询 LINQ子查询是一个包含了另外一个查询的Lambda表达式的查询. 以下的例子...
    99+
    2023-06-17
  • 如何使用LINQ查询结果
    这篇文章主要介绍了如何使用LINQ查询结果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用LINQ查询结果如果查询结果是强类型的,如string[],List<T&g...
    99+
    2023-06-17
  • Linq中怎么实现动态条件查询
    本篇文章给大家分享的是有关Linq中怎么实现动态条件查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在开发项目的过程中,我们经常会遇到这样的需求,动态组合条件的查询。比如淘宝...
    99+
    2023-06-17
  • 动态linq查询的实现方式是什么
    这篇文章主要介绍“动态linq查询的实现方式是什么”,在日常操作中,相信很多人在动态linq查询的实现方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”动态linq查询...
    99+
    2022-10-19
  • C#中如何使用LINQ查询数据
    C#中如何使用LINQ查询数据,需要具体代码示例LINQ(Language Integrated Query)是C#中的一种强大的查询语言,它可以帮助开发者简化对数据的查询和操作。本文将介绍如何在C#中使用LINQ查询数据,并提供具体的代码...
    99+
    2023-10-22
    C# 查询数据 C#中的关键词: LINQ
  • C#如何使用LINQ查询操作符
    这篇文章主要讲解了“C#如何使用LINQ查询操作符”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何使用LINQ查询操作符”吧!连表操作符1、内连接使用 join 子句 根据特定的条件合...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作