【问题标题】:Querying like Linq when you don't have Linq没有 Linq 时像 Linq 一样查询
【发布时间】:2010-09-05 16:17:13
【问题描述】:

我目前正在处理一个项目,但它目前仅支持 .net 框架 2.0。我喜欢 linq,但由于框架版本的原因,我无法使用它。我想要的不是事物的 ORM 方面,而是 Linq 的“可查询性”(甚至是一个词吗?)。

到目前为止,最接近的是llblgen,但如果有更轻的东西可以为我做查询,那就更好了。

我还查看了NHibernate,它看起来可以接近我想要的,但它的学习曲线非常陡峭,而且映射文件不会让我过于兴奋。

如果有人知道可以为我提供与 Linq 类似的查询界面(或者更好的是,如何让 Linq 在 .net 2.0 框架上工作),我真的很想听听。

【问题讨论】:

    标签: database linq orm


    【解决方案1】:

    有一种方法可以在 .NET 2.0 框架中引用 LINQ,但我必须警告您,它可能违反了框架的使用条款/EULA:

    LINQ on the .NET 2.0 Runtime

    【讨论】:

      【解决方案2】:

      首先。让 linq 本身在 2.0 上工作是不可能的。它是可能的,但实际上不是在测试环境之外做的事情。

      就其中的 ORM/动态查询部分而言,您可以获得的最接近的是 imho SubSonic,我会向任何陷入 C# 2.0 的人推荐它

      【讨论】:

        【解决方案3】:

        看看这个:

        http://www.albahari.com/nutshell/linqbridge.html

        Linq 是几个不同的东西,我不能 100% 确定您想要哪些位,但以上内容可能在某些方面有用。如果你还没有关于 Linq 的书(我猜你没有),那么我发现“Linq In Action”很好。

        【讨论】:

          【解决方案4】:

          LinqBridge 看起来是个不错的起点,因为我有 VS2008,我只需要编译并部署到 .net 2.0 服务器。

          我看过 SubSonic,它也是一个有趣的替代方案,但 linqbridge 似乎更适合,所以我不必去学习新的 ORM/查询语法。

          【讨论】:

          • LinqBridge 仅在 .NET 2.0 上为我们提供 Linq 语法。我们仍然需要一个 ORM。
          【解决方案5】:

          您可能想查看Subsonic。它是一个使用 ActiveRecord 模式的 ORM。我很确定它的大部分功能都适用于 .NET Framework 2.0。

          【讨论】:

            【解决方案6】:

            呼应 Lance 所说的 - SubSonic 查询语言有一个流畅的界面,它不如 LINQ 漂亮,但给您一些好处(编译时检查、智能感知等)。

            【讨论】:

              【解决方案7】:

              LinqBridge 在 .NET 2.0 下运行良好,您可以获得所有 Linq 扩展和查询语言。您需要 VS 2008 才能使用它,但您已经知道了。

              但是,Linq 它不是 ORM。这是一种查询语法。如果要使用 Linq 查询数据库,则需要 .NET 3.5。那是因为 2.0 没有提供将 Linq 代码转换为您喜欢的数据库查询语言所需的机制。

              换句话说,如果您需要 ORM,LinqBridge 不会帮助您。您需要查看提供的其他一些建议。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-11-28
                • 1970-01-01
                • 1970-01-01
                • 2016-01-17
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多