我是否应该担心 LINQ(查询语言)的升级路径

发布于 2024-07-15 02:21:06 字数 143 浏览 7 评论 0原文

我开始在代码中使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岁吢 2024-07-22 02:21:06

需要区分“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.

暮凉 2024-07-22 02:21:06

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

  • LINQ 到对象:这是基于 IEnumerable的。 并且在 BCL 中如此根深蒂固,以至于我发现很难将它推广到任何地方。
  • LINQ to SQL:我使用它的次数几乎没有 LINQ 那么多,但我知道它有很多追随者,而且人们似乎很喜欢它。

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

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

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

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

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

As Jon said it's very important to distinguish between LINQ providers. For instance

  • LINQ to objects: This is based off of IEnumerable<T> and is so ingrained into the BCL that I find it very hard this is going anywhere
  • LINQ to SQL: I don't use this nearly as much as I do LINQ but I know it has a good following and people seem to like it.

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.

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文