使用.NET DataSet创建数据库结构

时间:2010-02-25 00:40:20

标签: c# .net database dataset

对DataSet的结构(而不​​是数据)应用数据库更改的最简单方法是什么?我需要像DataAdaptors这样的东西吗?是否可以以这种方式使用我通过Visual Studio向导配置的DataSet?如何访问这样的DataSet?

2 个答案:

答案 0 :(得分:0)

抱歉,没有内置方法可以做到这一点。

DataAdapter适应某个数据库提供程序的DataSet和DML(数据操作语言)。 DataSet与提供商的DDL(数据定义语言)之间没有对应关系。

有一次我不得不这样做,我自己解释了DataSet。我有一个程序从服务器接受了一堆“类似关系”的元数据,用它来构造DataSet,然后解释DataSet来创建DDL。然后执行DDL以创建数据库,从服务填充DataSet,最后使用DataAdapterDataSet写入数据库。

这并不难,只是有点耗时。我首先编写了初始数据库结构的脚本,然后创建了与结构匹配的DataSet。然后我弄清楚DataSet的哪些部分来自DDL的哪些部分。然后我学会了如何从DataSet回到DDL。当DataSet的输出与原始DDL(或多或少)匹配时,我认为自己完成了。

答案 1 :(得分:0)

您可以将DataSet.GetXmlSchema()XLST结合使用以生成架构DDL。另一种方法是编写一个小程序来解析每个DataTable,它的DataColumns和DataRelations基于可用的元数据(DataColumn.DataType,ColumnName,MaxLength,AllowNull等)来构建DDL。

但是,这两种方法只对新模式有用,如果你想为模式更改生成DDL,那么说实话,你可以使用existing product来节省大量时间。