了解Linq

Learning about LINQ

概述

我在这个网站上问了很多关于Linq的问题。我问的问题广泛多样,往往没有太多背景。因此,为了巩固我在Linq上学到的知识,我发布了这个问题,目的是在我继续学习Linq时,用其他信息来维护和更新它。

我也希望它将证明是一个有用的资源,为其他人想了解林肯。

什么是LINQ?

来自MSDN:

The LINQ Project is a codename for a
set of extensions to the .NET
Framework that encompass
language-integrated query, set, and
transform operations. It extends C#
and Visual Basic with native language
syntax for queries and provides class
libraries to take advantage of these
capabilities.

这意味着Linq提供了一种使用公共语法查询各种数据源的标准方法。

林肯有什么味道?

目前,微软提供了几种不同的LINQ供应商:

  • Linq to对象,它允许您对任何IEnumerable对象执行查询。
  • LinqtoSQL,它允许您以面向对象的方式对数据库执行查询。
  • Linq to XML,允许您查询、加载、验证、序列化和操作XML文档。
  • 按Andrei的建议向实体提供LINQ
  • 数据集的LINQ

还有很多其他的,其中很多列在这里。

有什么好处?

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

那么我该怎么处理Linq呢?

Chook提供了一种输出csv文件的方法Jeff演示如何从数组中删除重复项Bob从数据表中获取一个不同的有序列表marxidad演示如何对数组进行排序Dana得到了使用Linq实现快速排序的帮助

从哪里开始?

Gatekiller问题的链接摘要如下:Scott Guthrie在他的博客上向Linq做了介绍基于msdn的LINQ概述

Chrisannodell建议退房:

  • 钩住LINQ
  • 101个LINQ样本
  • 林帕德

我需要使用什么LINQ?

Linq目前在vb.net 9.0和c 3.0中提供,因此您需要Visual Studio 2008或更高版本才能获得全部好处。(您可以始终在记事本中编写代码,并使用msbuild进行编译)

还有一个名为linqbridge的工具,它允许您在C 2.0中运行类似linq的查询。

使用LINQ的提示和技巧

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


Linq to entities:

  • 视频随身听
  • 视频频道
  • 实体框架
  • 实体框架性能

我得到了更多的快乐


自从十几岁以来,对实体的提及将是一个重要的网络模块。


IMHO,一个过于看重,但重要的是,利润是LINQ的编码效率,E.G.如何以如此小的代码实现许多。我个人很容易找到读和理解的句法。


A few linq tips:

  • 应用滤波器在连接到改进选项性能之前
  • 使用对象参考比较过滤器链接查询
  • Apply aggregates to empty collection in linq to sql queries
  • 延迟装载属性到SQL
  • 使用表增值函数与eager loading turned on
  • 将正确的顺序连接到对象查询
  • 复合一个环路内的链接查询

http://www.aspnetpro.com/articles/2009/04/asp200904zh=uf/asp200904zh=uf.asp


把书链接在行动中是一个容易阅读的编码书,并真实地教导你如何使用链接以及他们将一些酷部分的新特征写入语言。


我想,答案是"林克有什么味道?"不完全首先,你可以创造自己的"香味"。是的,这是一个先进的任务,但现在有许多不同的链接执行。

这是查理?卡尔弗特的博客:链接到链接上的现有链接列表(加上更多的学习链接资源)。

还有一个优秀的博客系列,由Matt Warren介绍如何创建自己的链接提供商


Some caveats about using linq to sql:

Microsoft really killed linq to sql?

是连通到SQL DOA吗?

关于实体框架的第一个版本,包括一项请愿书,也存在一些争议。


My 2 cents,read chapters"11 query expressions and linq to objects"and"12 linq beyond collections"in"C ";in depth"book to understand how linq works.


链接实践

如果你想在练习和回答之间建立某种联系,那么很容易建立起来,在我的意见中,就有:

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

从GIT下载,打开视觉工作室。你的工作是通过测试。

[折衷:我从中学习了一些联系,并为项目作出了贡献,所以我认为这是一个伟大、快捷和有效的学习方式。]