Linq学习

Posted ifconfig

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq学习相关的知识,希望对你有一定的参考价值。

参考书籍《Illustrated C#7, 5th Edition》

技术图片

什么是LINQ?

  1. LINQ = Language Integrated Query 发音"link"
  2. LINQ是.NET框架的扩展。用类似SQL语法查询数据库一样,来查询数据集。SQL查询数据库,database。LINQ查询数据集,data collection

    原因是SQL查询规范的表格,也即数据库,而LINQ不一定是规范的数据。SQL查询的是数据库,而LINQ查询可以查程序数据集。

  3. 第二点补充,使用LINQ可以查询database(数据库),对象集合(object collection),XML文档(XML document)等

第一个例子:

using System;

using System.Collections.Generic; //集合

using System.Linq;//LINQ

?

class Program

{

static void Main()

{

int[] numbers = { 2, 12, 5, 15 }; // Data source 数据源

IEnumerable<int> lowNums = // Define and store the query. 定义数据data &存储查询query

from n in numbers

where n < 10

select n;

?

foreach (var x in lowNums) // Execute the query.执行查询

Console.Write($"{ x }, ");

}

}

?

结果:

技术图片

?

LINQ Providers

翻译过来是LINQ 提供程序,但是总感觉这个怪怪的

技术图片

在之前的示例中,数据源是int数组。它是程序在内存中的对象。

但是LINQ还可以查询各种数据,SQL数据库(database),XML 文档(XML document)等

对于每一种数据,都有对应的LINQ 查询模块,这些代码模块叫做LINQ providers

?

所以:LINQ providers 可以理解为 代码模块 code modules

  1. 微软为常见数据源类型(common data source types)提供了LINQ providers
  2. 可以使用任何支持LINQ的语言(这里是C#,来查询数据源(有LINQ providers提供的data
  3. 第三方不断提供针对各种数据源类型的LINQ providers

    技术图片

    ?

以上是关于Linq学习的主要内容,如果未能解决你的问题,请参考以下文章

使用 LINQPad 助力 LINQ 学习

Linq学习-本次学习用到的资料

Linq学习之旅——LINQ查询表达式

Linq学习

Linq学习随笔二------LINQ to XML

Linq学习随笔三------LINQ to SQL