我有一个项目,只能在运行.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关于部署这两个文件的法律风险的警告。