从 DB2 模式自动生成 DataTable

Posted

技术标签:

【中文标题】从 DB2 模式自动生成 DataTable【英文标题】:Auto-generate DataTable from DB2 schema 【发布时间】:2012-09-19 21:51:23 【问题描述】:

我正在做一个项目,我们有一个预先存在的DataSet。我们不做任何持久性类型的东西。它只是充当我们从 DB2 读取的数据的持有者。

我需要在其中一个表中添加一个新列。我可以打开设计器并查看DataTable...当然可以手动添加列,但我想知道是否有办法告诉Visual Studio 从DB2 获取表模式并为DataTable 构建我?如果这也能在未来通过模式更改轻松更新它,那将是非常酷的。我希望我的DataTable/DataSet 是强类型的,这是现在在设计器中手动添加列的东西。

我没有太多运气找到任何教程。 intermediate solution 可能是从 DB2 模式生成 XSD 并将其导入,但考虑到我在这方面缺乏知识,我认为从其他人那里获得一些输入会很好。

【问题讨论】:

你可能想看看实体框架msdn.microsoft.com/en-us/library/aa697427(v=VS.80).aspx 【参考方案1】:

有很多方法可以做到这一点.. 搜索 POCO(普通旧 CLR 对象)应该会给您返回许多满意的结果。 (注意,这是 POJO 一词的“笑话”)。

当然这是 ***.com,所以您可以使用他们写的...它位于:

http://code.google.com/p/dapper-dot-net/

我不推荐 EF,它对于快速简单的解决方案来说有点沉重。

祝你好运。

【讨论】:

这是一个很好的项目。同意 EF 部分的矫枉过正......因为我无法真正修改我正在从事的项目,所以我仍在寻找一种涉及自动更新(或生成)DataTable 的解决方案。感谢您的回答!我可能会尝试下一个项目。 不确定我是否理解您的问题——如果您只想要一个 DataTable 而不是数据,为什么不使用 .NET 驱动程序并正常选择? 是的,我可能在这里遗漏了一些非常明显的东西。但澄清一下,我并不担心填写DataTable,我正在尝试找到一种更好的方法来更新我们的DataTable,而不是在设计器中手动编辑它......并希望同样的方法一开始就可以用来创建它。 这是我不明白的。 DataTable 是运行时对象……到底更新了什么?没有数据库就没有源代码。我很困惑你的意思。也许如果您在问题区域发布了一些代码,我可以提供帮助。 (需要明确的是,我有几个项目,其中给定的 DataTable 会在不同的用户或不同的时间改变模式......所以我理解你为什么想要改变,而不是为什么它是一个问题。也许它只是您使用 DataTable 的方式?) 我想你说的是在运行时在代码中创建一个DataTable 是吗?我说的是这个截图中看到的设计器视图:c-sharpcorner.com/UploadFile/0146e3/…

以上是关于从 DB2 模式自动生成 DataTable的主要内容,如果未能解决你的问题,请参考以下文章

自动卸载/加载 DB2 数据库所有表的工具

将 Backand 字段类型从字符串更改为浮点数,生成有效模型会在新模式中产生错误

在asp.net mvc中删除数据成功后重新排序自动编号列JQuery Datatable

db2关闭命令行CLP自动提交

db2数据库导入时自动增长的ID列如何填写

为 Db2 表生成 DDL