LINQ on DataTable

时间:2012-01-12 21:42:48

标签: c# linq

我有一个相当混乱的问题。

我最近选择了8个月前在VS Web Developer 2008中编写的一些代码。我现在已经转到2010年了,所以我升级了项目,但是否则它是相同的。现在它不会因为下面的代码而构建:

IMSDataSet.vwPartDataTable table = new IMSDataSet.vwPartDataTable();
        da.Fill(table);

        //Convert to Parts
        return table.Select<IMSDataSet.vwPartRow, Part>((row) => { return new Part(row); }).ToArray();

使用Visual Studio中的数据集设计器创建vwPartDataTable。 现在看看SO似乎这是不正确的代码,我需要一个AsEnumerable()。但问题是。我部署了这段代码。有这些线的负载,我到处都使用它们,所以它必须有效。

项目升级将所有内容移至.NET 4.0,但将其恢复为3.5无效。

任何人都可以放弃任何光明。我更愿意保持代码的完整性,因为这就是客户所拥有的。

感谢。

2 个答案:

答案 0 :(得分:0)

如果这是.Net 2.0功能,如果您采取this popular SO question中描述的额外步骤,则可以在Visual Studio 2010中定位该框架版本。

答案 1 :(得分:0)

回答这个问题。我错误地安装了一些SQL组件。我在尝试打开我的.xsd(拖放式数据表设计器)时遇到错误,涉及丢失的包。这归结为自定义工具生成不包含泛型支持的旧代码或基本代码,因此我使用的通用LINQ函数不可用。

修复此问题需要卸载Visual Web开发人员和.NET 4,然后重新安装。我还单独安装了SQL Server 2008 R2 express,而不是让Visual Web Developer(VWD)安装程序执行此操作。这也是我之前所做的。