从数据集创建SQL Server数据库

e1s*_*e1s 4 c# xml sql sql-server dataset

我在中阅读了xsd和xml文件DataSet,现在我想从中创建数据库DataSet

foreach (DataTable dt in temp.Tables) {
    foreach (DataColumn dc in dt.Columns) {
        //example for one column
        SqlCommand createtable = new SqlCommand(
            "create table " + dt.TableName + " (" 
            + dc.ColumnName + "  varchar(max))", conn);
        createtable.ExecuteNonQuery();
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我有一些问题,当我创建数据库表时,我需要XSD的列类型和大小(例如use varchar(max))。如何解决这个问题?

例如在xsd中,我有

<xs:restriction base="xs:string">
<xs:maxLength value="36"/>
<xs:minLength value="1"/>
</xs:restriction>
Run Code Online (Sandbox Code Playgroud)

要么

<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
Run Code Online (Sandbox Code Playgroud)

要么

<xs:restriction base="xs:decimal">
<xs:totalDigits value="19"/>
<xs:fractionDigits value="2"/>
</xs:restriction>
Run Code Online (Sandbox Code Playgroud)

最后,我需要脚本来创建具有列大小的数据库表(例如在xsd中)

UPD:也许用于XmlSchemaSet解析XSD?

Imr*_*han 5

使用 XSD2DB

XSD2DB是用编写的命令行工具C#,它将读取Microsoft ADO.NET compatible DataSet Schema File (XSD)并生成一个数据库。

链接