0

我开始在代码中使用 LINQ 作为真正的查询语言来帮助提高可读性。直到最近我还害怕接触 LINQ,因为 LINQ to SQL 团队在实体框架团队下移动(试图忽略这里的对话)—— LINQ 查询语言是否会成为一个安全的赌注(就像任何东西一样快速搬家行业)?

4

2 回答 2

5

区分“LINQ”和“特定的 LINQ 提供程序”是值得的。我认为可以肯定地说 LINQ 本身将继续存在 - 它对于通过 LINQ to Objects 进行的进程内收集处理非常有用。

至于哪个 LINQ 提供者将“获胜”(如果有的话) - 这是一个更难的赌注。

不过,我当然会学习 LINQ 本身的基础知识——而且 LINQ to XML 也是一个可爱的 XML API。

于 2009-03-06T20:13:26.280 回答
3

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

  • LINQ to objects:这是基于 IEnumerable<T> 并且在 BCL 中如此根深蒂固,以至于我发现它很难去任何地方
  • LINQ to SQL:我几乎没有使用 LINQ,但我知道它有很多追随者,而且人们似乎喜欢它。

警告:我在 LINQ 上工作,所以我在这里很有偏见。

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

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

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

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

于 2009-03-06T20:22:31.843 回答