学习有关LINQ [关闭](Learning about LINQ [closed])

2019-09-01 15:41发布

概观

有一个问题我问过很多关于此网站上的东西是LINQ 。 我提出的问题已广泛和多样,往往没有在他们身后很多方面。 因此,企图巩固我已经获得了LINQ我张贴,以期维护和额外的信息更新它,因为我继续了解LINQ这个问题的认识。

我也希望,这将被证明是其他人想要了解LINQ一个有用的资源。

什么是LINQ?

从MSDN :

该项目LINQ是一组扩展到.NET框架包含语言集成查询,设置和转换操作的代号。 它扩展了C#和Visual Basic用母语语法查询,并提供了类库以利用这些功能的优势。

这意味着的是,LINQ提供一种标准方法来查询各种使用通用语法的数据源。

有没有什么味道LINQ的?

目前,有微软提供了一些不同的LINQ提供程序:

  • LINQ到对象 ,它允许你任何IEnumerable的对象上执行查询。
  • LINQ到SQL ,它允许您对面向对象的方式使用数据库执行查询。
  • LINQ到XML ,它允许您查询,加载,验证,序列化和操作XML文档。
  • LINQ到实体通过建议安德烈
  • LINQ到数据集

有相当多的人,其中很多是上市这里 。

有什么好处?

  • 标准化的方式来查询多个数据源
  • 编译查询的时间安全
  • 优化的方式对内存中的对象进行基于集合的操作
  • 调试能力查询

所以,我能做些什么与LINQ?

Chook提供了一种输出CSV文件
杰夫显示了如何从一个数组中删除重复
Bob得到一个不同的排序列表从数据表
Marxidad显示如何数组排序
达纳得到帮助实现快速排序使用LINQ

从哪儿开始?

从链接摘要GateKiller的问题有如下
斯科特格思里提供了一个介绍到LINQ在他的博客
概述LINQ MSDN上

ChrisAnnODell建议检查出:

  • 勾搭上的Linq
  • 101个LINQ的样本
  • LinqPad

我需要做什么使用LINQ?

LINQ是目前在VB.Net 9.0可与C#3.0所以你需要Visual Studio 2008或更大,以获得完整的利益。 (你总是可以写在记事本中的代码和使用的MSBuild编译)

还有一个叫做工具LinqBridge ,这将让你像在C#2.0中运行查询的LINQ。

提示和使用LINQ技巧

这个问题有一些棘手的方式来使用LINQ

Answer 1:

LINQ到实体:

  • 视频演练
  • 第9频道视频
  • 实体框架常见问题解答
  • 实体框架性能

我有很多我的标签上Delicious.com 。



Answer 2:

提到LINQ到实体,因为ADO.NET实体框架将是一个重要的.NET模块。



Answer 3:

得到这本书中的LINQ行动是对编码书容易读,真正教你如何使用LINQ和.NET的3.5一些他们把该语言的清凉部分的新功能。



Answer 4:

一些LINQ提示:

  • 应用过滤器前加入,以提高查询性能
  • 使用对象基准比较过滤LINQ查询
  • 应用聚集到空的集合在LINQ to SQL查询
  • 延迟加载属性中的LINQ to SQL
  • 使用表值函数与预先加载开启
  • 认沽加入以正确的顺序在LINQ到对象查询
  • 撰写循环中LINQ查询

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp



Answer 5:

恕我直言,一个被忽视的,但重要的是,好处是LINQ的编码效率,例如有多少可以用这么少的代码来实现。 我个人觉得查询语法易​​于阅读和理解。



Answer 6:

有关使用LINQ to SQL中的一些注意事项:

已微软真的杀的LINQ to SQL?

是的LINQ to SQL DOA?

还有一些争论关于第一个版本的实体框架 ,包括请愿书 。



Answer 7:

我认为,答案为“是什么味道LINQ的呢?” 是不完整的。 首先,你可以创建自己的“味道”。 是的,这是一种先进的任务,但现在有很多不同的LINQ实现。

这是现有的LINQ提供的查理Calvert的博客列表(加上学习LINQ一些更多的资源): 链接到LINQ 。

也有一个很好的系列博客文章由马特·沃伦如何创建自己的LINQ提供者: LINQ:构建一个IQueryable提供商系列



Answer 8:

我的2美分,阅读章节“11查询表达式和LINQ到对象”,并在“C#中的深度”书“12 LINQ超越集合”,了解LINQ是如何工作的。



Answer 9:

对LINQ实践

如果您想对LINQ一些练习与习题和答案,真的很容易成立,在我看来,真棒:

https://github.com/walkhard/linq-exercises

从git的下载,在Visual Studio中打开。 你的任务是使测试通过。

[披露:我从中学到了一些LINQ和我贡献的项目,所以是的,我认为这是学习的真棒,快速和有效的方式。]



文章来源: Learning about LINQ [closed]