c# - 将通用数据表转换为类型化数据表

标签 c# datatable strongly-typed-dataset

我需要重用客户指定的 DataAccess 方法。此方法返回普通数据表。 我想将此数据表转换为我的类型化数据表。列的数量和它们的类型将匹配。 异常消息“无法将‘System.Data.DataTable’类型的对象转换为‘MarketValueDataTable’类型。” 很清楚,但我该如何解决?

看过casting-a-base-type-to-a-derived-type ,但看不出如何让它发挥作用。

我无法使用数据读取器填充数据表,只能使用客户端的 DataAccess 方法。

最佳答案

只有当该方法返回的表实际上是 MarketValueDataTable 的一个实例时,转换才能工作。如果不是,您所能做的就是将数据复制到 MarketValueDataTable 的实例。例如,您可以使用 Merge 方法:

DataTable data = GetData();
MarketValueDataTable myData = new MarketValueDataTable();
myData.Merge(data);

关于c# - 将通用数据表转换为类型化数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1398609/

相关文章:

javascript - 使用jquery数据表我无法在不破坏FixedHead的情况下使单元格colspan = 3

c# - ADO.Net - 将 DataRow 添加到 DataTable 时截断列数据

c# - 将新行添加到强类型数据集中?

c# - 序列化类型化数据集、更新程序集、反序列化错误

c# - 如何将 HtmlDocument 保存到内存中? HTML 敏捷包

C#对象引用问题

c# - Squirrel.windows 在桌面上创建多个快捷方式

html - 在 Bootstrap 数据表中使用纯 CSS3 隐藏表行

c# - 强类型数据集不从存储过程中检索返回值

c# - 在 Visiblox 图表中反转线性轴