我是否应该担心 LINQ(查询语言)的升级路径
我开始在代码中使用 LINQ 作为真正的查询语言,以帮助提高可读性。 直到最近,我还不敢接触 LINQ,因为 LINQ to SQL 团队已移至实体框架团队之下(试图忽略此处的对话)——LINQ 查询语言是否会是一个安全的选择(与此快速发展中的任何内容一样)搬家行业)?
I'm starting to use LINQ as a true query language in code to help improve readability. Until recently I was afraid to touch LINQ because of the LINQ to SQL team move under the Entity Framework team (trying to ignore that conversation here) -- will LINQ the query language be a safe bet going forward (as much as anything in this fast moving industry) ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
需要区分“LINQ”和“特定的 LINQ 提供程序”。 我认为可以肯定地说 LINQ 本身将继续存在 - 并且它对于通过 LINQ to Objects 进行进程内收集处理非常有用。
至于哪个 LINQ 提供程序将“获胜”(如果有的话)——这是一个更难下注的赌注。
不过,我当然会学习 LINQ 本身的基础知识 - 并且 LINQ to XML 也是一个可爱的 XML API。
It's worth distinguishing between "LINQ" and "a particular LINQ provider". I think it's safe to say that LINQ itself is here to stay - and it's phenomenally useful for in-process collection processing via LINQ to Objects.
As for which LINQ provider will "win" (if any) - that's a harder bet to call.
I would certainly learn the fundamentals of LINQ itself though - and LINQ to XML is a lovely XML API as well.
正如 Jon 所说,区分 LINQ 提供商非常重要。 例如
警告:我在 LINQ 上工作过,所以我对此有很大的偏见。
我认为 LINQ 的真正优点是任何人都可以编写 LINQ 提供程序。 所需要的只是一些名称正确的可绑定方法,然后您就拥有了查询语法。
我可以在不使用任何 3.5 框架的情况下编写此语句。 我有 我自己的 LINQ 提供程序,它适用于 2.0 框架,并且与所使用的查询语法兼容在编译器中。
我个人更倾向于 lambda/ 扩展方法 synatx 但生成的代码实际上没有什么不同。
As Jon said it's very important to distinguish between LINQ providers. For instance
Caveat: I worked on LINQ so I'm pretty biased here.
What's really neat about LINQ, at what I think we really got right, is that anyone can write a LINQ provider. All that's needed is a few bindable methods of the right name and suddenly you have query syntax.
I can write this statement without using any of the 3.5 framework. I have my own LINQ Provider which works against the 2.0 framework and is compatible with the query syntax used in the compiler.
I personally lean more towards the lambda/ extension method synatx but the resulting code is really no different.