我一直在寻找如何解决这个问题好几个小时,我似乎无法弄明白。我要做的是选择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
}
答案 0 :(得分:3)
您不需要CopyToDatatable
方法,该方法适用于Microsoft为ObjectShredder
类提供的任何类型(即使使用匿名类型)。您正在从DataRows
中选择DataTable
,因此正常的CopyToDataTable
可以正常运行。它位于DataTableExtensions
的{{1}}课程中。
所以我认为这只是命名空间问题。从动态System.Data.DataSetExtensions.dll
扩展方法中移除using
并尝试以下操作:
CopyToDataTable
如果这样做无法帮助重命名自定义CopyToDataTable<T>
方法。