从LINQ-TO-SQL DBML文件生成表/视图模式

时间:2009-09-15 15:57:41

标签: linq-to-sql database-design ddl

我想拥有数据结构描述的单一来源。

有些人在询问DBML文件在数据库中更改时是否可以刷新。我这样做是愚蠢但很常见;打开它,删除所有,然后再拖放。 我听说有一些第三方做了招数。

但我在想,有什么方法可以反转这个操作吗?

在hibernate中,有一种方法可以从XML数据结构构建目标数据库的DDL。

DBML文件是否可能包含重建数据库DDL的所有信息? (例如,拥有那些VIEW SQL的副本,存储过程代码),并动态构建“创建脚本”(就像您在SQL Server企业管理器中所做的那样)

1 个答案:

答案 0 :(得分:2)

DBML文件仅包含表,列,外键约束和主键。视图以与表相同的方式存储,因此存储的唯一信息是视图的名称以及返回的列(w / type,nullability等)。视图定义本身未存储,因此无法从dbml文件中提取。

如果您使用L2S设计器和底层DBML文件进行数据建模,您将丢失:

  • 非PK索引/密钥
  • 查看定义
  • 存储过程定义
  • 功能定义
  • 别名类型
  • ...等...

也就是说,如果你想从你的DBML为表定义,FK,PK等生成SQL-DDL,我的Visual Studio加载项可以为你做。 (它支持同步方式db - > dbml和dbml - > sql-ddl - > db您可以从以下位置下载并获得试用许可证:
http://www.huagati.com/dbmltools/