将“DBML”文件转换为“SQL数据库文件”

问题描述:

我有一个数据库的DBML文件,并希望从该文件生成一个SQL数据库文件。将“DBML”文件转换为“SQL数据库文件”

感谢

Data Context上有一个名为CreateDatabase()的方法,您可以使用它。

http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.createdatabase.aspx

我知道那做,没有可用的实用工具,它是一个有点太多了SO回答做。

但是,大多数情况下,这并不是什么大不了的事情。 DBML文件是用XML编写的;应该很容易通过Linq-to-xml读取。然后,将xml中的值的SQL命令拆分为脚本文件。然后运行脚本。 (它也可以用XSLT转换来完成)

<Table Name="dbo.Person" Member="Persons"> 

成为

CREATE TABLE Persons (

<Column Name="PersonID" Type="System.Int32" DbType="Int NOT NULL IDENTITY" 
      IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false"> 
    </Column> 

    <Column Name="AddressID" Type="System.Int32" DbType="Int NOT NULL" 
      CanBeNull="false"></Column> 

变为:

PersonID Int NOT NULL, 
AddressID int NOT NULL, 

等。