LINQ数据源的示例分析

发布时间:2021-12-02 09:15:23 作者:小新
来源:亿速云 阅读:122

这篇文章给大家分享的是有关LINQ数据源的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

LINQ数据源

在上一个示例中,由于数据源是数组,因此它隐式支持泛型 IEnumerable<(Of <(t>)>) 接口。这一事实意味着该数据源可以用 LINQ 进行查询。在 foreach 语句中执行查询,而 foreach 要求使用 IEnumerable 或 IEnumerable<(Of <(t>)>)。支持 IEnumerable<(Of <(t>)>) 或派生接口(如泛型 IQueryable<(Of <(t>)>))的类型称为“可查询类型”。

可查询类型不需要进行修改或特殊处理就可以用作 LINQ数据源。如果LINQ源数据还没有作为可查询类型出现在内存中,则 LINQ 提供程序必须以此方式表示源数据。例如,LINQ to XML 将 XML 文档加载到可查询的 XElement 类型中:

// Create a data source from an XML document.  // using System.Xml.Linq;  XElement contacts = XElement.Load(@"c:\myContactList.xml");

在 LINQ to SQL 中,首先手动或使用 对象关系设计器(O/R 设计器) 在设计时创建对象关系映射。针对这些对象编写查询,然后由 LINQ to SQL 在运行时处理与数据库的通信。在下面的示例中,Customer 表示数据库中的特定表,并且 Table 支持派生自 IEnumerable<(Of <(t>)>) 的泛型 IQueryable<(Of <(t>)>) 接口。

DataContext db = new DataContext(@"c:\northwind\northwnd.mdf");

有关如何创建特定类型的数据源的更多信息,请参见各种 LINQ 提供程序的文档。但基本规则非常简单:LINQ数据源是支持泛型 IEnumerable<(Of <(t>)>) 接口或从该接口继承的接口的任意对象。

LINQ查询

查询指定要从数据源中检索的信息。查询还可以指定在返回这些信息之前如何对其进行排序、分组和结构化。查询存储在查询变量中,并用查询表达式进行初始化。为使编写查询的工作变得更加容易,C# 引入了新的查询语法。

上一个示例中的查询从整数数组中返回所有偶数。该查询表达式包含三个子句:from、where 和 select。(如果您熟悉 SQL,您会注意到这些子句的顺序与 SQL 中的顺序相反。) from 子句指定数据源,where 子句应用筛选器,select 子句指定返回的元素的类型。LINQ查询表达式(C# 编程指南)一节中详细讨论了这些子句和其他查询子句。目前需要注意的是,在 LINQ 中,查询变量本身不执行任何操作并且不返回任何数据。它只是存储在以后某个时刻执行查询时为生成结果而必需的信息。

感谢各位的阅读!关于“LINQ数据源的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. LINQ工具集的示例分析
  2. 怎么将数据源进行Linq排序

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:分布式数据库DDM Sidecar模式如何部署负载均衡

下一篇:SpringBoot2.0整合tk.mybatis异常怎么解决

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》