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

时间:2010-09-02 14:28:27

标签: sql linq linq-to-sql

我有数据库的DBML文件,并希望从该文件生成SQL数据库文件。

由于

3 个答案:

答案 0 :(得分:2)

您可以使用名为CreateDatabase()的数据上下文中的方法。

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

答案 1 :(得分:1)

我知道没有可用的实用程序可以做到这一点,并且对于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,

等等。

答案 2 :(得分:0)

您可以使用CLI工具。

dbml2sql schema.dbml -o schema.sql

https://www.dbml.org/cli/#convert-a-dbml-file-to-sql