之前我从未使用过LINQ,而且在使用它的应用程序中出现错误。这是Visual Studio 2008中的VB.NET(.NET 2.0)项目。
以下是有问题的代码:
Dim orderedRows = From r In resultRows Order By r.FIELDNAME Select r
这是错误(名称改为通用,但准确无误):
Expression of type '1-dimensional array of
Company.OurLibrary.FunctionalArea.Library.StoredProcStuff.USP_MYPROC.ResultRow'
is not queryable. Make sure you are not missing an assembly
reference and/or namespace import for the LINQ provider.
C:\project\filename.vb
所以我认识到我需要导入LINQ库。 This link让我在文件中添加了“Imports System.Linq”,但这是一个未解决的引用。基于相同的链接,我想我需要在我的项目中添加对“System.Core”的引用,但是当我尝试添加引用时它没有被列为可用选项(也不是已经选中)。
我确信我错过了一些基本的东西。有人能指出我正确的方向吗?
TL; DR:LINQ需要什么工作?
答案 0 :(得分:9)
更新:基于针对.NET 2.0的注释并尝试使用System.Linq会导致编译器错误,如下所示:
指定的命名空间或类型 Imports的System.Linq'不包含 任何公共成员或无法找到。
要更改目标框架版本,请转到项目的属性 - >编译 - >高级编译选项...将目标框架设置为“.NET Framework 3.5”并重新编译。
如果使用.NET 3.5不可行,那么您可以使用LINQBridge在针对.NET 2.0框架时使用LINQ to Objects。