了解LINQ

lom*_*axx 188 linq linq-to-objects linq-to-entities linq-to-sql

概观

LINQ,我在网站上提出了很多问题.我提出的问题范围广泛而且多种多样,往往背后没有太多背景.因此,为了巩固我在Linq上获得的知识,我发布了这个问题,以便在我继续学习LINQ时使用其他信息来维护和更新它.

我也希望它能够成为想要了解LINQ的其他人的有用资源.

什么是LINQ?

来自MSDN:

LINQ项目是.NET Framework的一组扩展的代号,包含语言集成的查询,设置和转换操作.它使用本机语言语法扩展C#和Visual Basic,并提供类库以利用这些功能.

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

LINQ有哪些口味?

目前,Microsoft提供了一些不同的LINQ提供程序:

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

有什么好处?

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

那么LINQ怎么办?

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

从哪儿开始?

GateKiller的问题链接摘要如下:
Scott Guthrie 在他的博客上为Linq提供了一个介绍MSDN
LINQ的概述

ChrisAnnODell建议退房:

LINQ需要什么?

Linq目前在VB.Net 9.0和C#3.0中可用,因此您需要Visual Studio 2008或更高版本才能获得全部优势.(您总是可以在记事本中编写代码并使用MSBuild进行编译)

还有一个名为LinqBridge的工具,它允许您在C#2.0中运行Linq之类的查询.

使用LINQ的提示和技巧

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

And*_*nea 6

提到LINQ to Entities,因为ADO.NET Entity Framework将是一个重要的.NET模块.


Kon*_*kus 5

一些 LINQ 提示:

  • 在连接之前应用过滤器以提高查询性能
  • 使用对象引用比较过滤 LINQ 查询
  • 将聚合应用于 LINQ to SQL 查询中的空集合
  • 在 LINQ to SQL 中延迟加载属性
  • 在开启预加载的情况下使用表值函数
  • 在 LINQ to Objects 查询中以正确的顺序放置联接
  • 在循环内编写 LINQ 查询

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


归档时间:

查看次数:

19310 次

最近记录:

6 年,11 月 前