【发布时间】:2010-07-27 21:53:04
【问题描述】:
我有一个只能部署在运行 .NET 3.0 的服务器上的项目。 我非常想使用 LINQ 来简化一些极其繁琐的逻辑。 有没有一种简单的方法可以做到这一点?我会满足于任何语法。
非常感谢
【问题讨论】:
我有一个只能部署在运行 .NET 3.0 的服务器上的项目。 我非常想使用 LINQ 来简化一些极其繁琐的逻辑。 有没有一种简单的方法可以做到这一点?我会满足于任何语法。
非常感谢
【问题讨论】:
由于 .NET 2.0 到 3.5 都在 CLR 2.0 上运行,所有 LINQ 的东西都只是一堆库。如果您包含您的框架版本中缺少的 DLL,它将正常工作。
正如 Patrick 所说,关键的 3.5 DLL 是 System.Core.dll(提供 System.Linq)和 System.Data.Linq.dll(用于 Linq-to-SQL)。
如果你这样做,我认为你至少需要来自 .NET 2.0SP1 的 System.dll。
正如 Marc 所引用的,LINQBridge 通过重新实现功能来工作,但我相信它仅适用于 Linq-to-Objects。
另一种选择是使用 Mono 项目中的这些相同的 DLL(System.Core.dll 和 System.Data.Linq.dll)。他们重新实现了所有的 LINQ。 Linq-to-Sql 的东西可能有点不成熟,但它确实具有与其他数据库一起工作的优点,而不仅仅是 MSSQL。
http://mono-project.com/Main_Page
这消除了与您的应用程序一起分发 Microsoft DLL 的合法性问题。
【讨论】:
一位同事使用LINQBridge 并取得了成功。
【讨论】:
取自http://codebeat.wordpress.com/2008/06/23/using-linq-in-net-30/:
我试过了,它奏效了,但请注意 Mike Atlas 对部署这 2 个文件的法律后果的警告。
【讨论】: