我开始在代码中使用 LINQ 作为真正的查询语言,以帮助提高可读性。直到最近,我还不敢接触 LINQ,因为 LINQ to SQL 团队已移至实体框架团队之下(试图忽略此处的对话)——LINQ 查询语言是否会是一个安全的选择(与此快速发展中的任何内容一样)搬家行业)?

有帮助吗?

解决方案

值得区分<!>“LINQ <!>”;和<!>一个特定的LINQ提供程序<!>“;我认为可以肯定地说LINQ本身就存在了 - 而且现象对于通过LINQ to Objects进行的进程内集合处理非常有用。

哪个LINQ提供商将<!>“赢得<!>”; (如果有的话) - 这是一个更难打电话。

我会当然了解LINQ本身的基本原理 - 而LINQ to XML也是一个可爱的XML API。

其他提示

正如 Jon 所说,区分 LINQ 提供商非常重要。例如

  • LINQ 对象:这是基于 IEnumerable<T> 的,并且在 BCL 中根深蒂固,我发现很难将其推广到任何地方
  • LINQ 到 SQL:我使用它的频率不如使用 LINQ,但我知道它有很多追随者,而且人们似乎很喜欢它。

警告:我在 LINQ 上工作过,所以我对此有很大的偏见。

我认为 LINQ 的真正优点是任何人都可以编写 LINQ 提供程序。所需要的只是一些名称正确的可绑定方法,然后您就拥有了查询语法。

var query = from it in someCollection select it.SomeProperty;

我可以在不使用任何 3.5 框架的情况下编写此语句。我有 我自己的 LINQ 提供程序 它适用于 2.0 框架,并且与编译器中使用的查询语法兼容。

我个人更倾向于 lambda/ 扩展方法 synatx 但生成的代码实际上没有什么不同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top