C#CopyToDataTable方法不起作用

时间:2013-07-09 14:16:15

标签: c# linq

我一直在寻找如何解决这个问题好几个小时,我似乎无法弄明白。我要做的是选择1个表的一部分并将其复制到临时表(我的应用程序需要一次使用特定的组)。当我尝试实现CopyToDataTable()方法时,我收到一条错误消息:

  

参数计数不匹配

它突出显示了ObjectSchredder.cs文件中的第137行(来自microsofts网站的文件)。我的代码如下:

private void fillTempTable()
{
    IEnumerable<DataRow> tempResults = from row in sourceTable.AsEnumerable()
                                       where row.Field<String>("GroupID") == GetCurrentGroupName()
                                       select row;

    tempGroup = tempResults.CopyToDataTable<DataRow>(); //Everything seems to work until this line               
}

1 个答案:

答案 0 :(得分:3)

您不需要CopyToDatatable方法,该方法适用于Microsoft为ObjectShredder类提供的任何类型(即使使用匿名类型)。您正在从DataRows中选择DataTable,因此正常的CopyToDataTable可以正常运行。它位于DataTableExtensions的{​​{1}}课程中。

所以我认为这只是命名空间问题。从动态System.Data.DataSetExtensions.dll扩展方法中移除using并尝试以下操作:

CopyToDataTable

如果这样做无法帮助重命名自定义CopyToDataTable<T>方法。