我有一个只能部署在运行.NET 3.0的服务器上的项目。 我迫切希望使用LINQ来简化一些极其乏味的逻辑。 有没有一种简单的方法来实现这一目标?我会满足于任何语法。
非常感谢
答案 0 :(得分:2)
同事使用LINQBridge并取得了成功。
答案 1 :(得分:2)
取自http://codebeat.wordpress.com/2008/06/23/using-linq-in-net-30/:
我尝试了这个,但它有效,但要注意Mike Atlas对部署这两个文件的法律后果的谨慎。
答案 2 :(得分:2)
由于.NET 2.0到3.5都在CLR 2.0上运行,因此所有LINQ内容都只是一堆库。如果您包含您的框架版本中缺少的DLL,它将正常工作。
正如帕特里克所说,关键的3.5 DLL是System.Core.dll(提供System.Linq)和System.Data.Linq.dll(用于Linq-to-SQL)。
如果你这样做,我认为你至少需要.NET 2.0SP1的System.dll。
LINcBridge,正如Marc所引用的那样,通过重新实现功能来工作,但仅限于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的合法性的任何问题。