从 LINQ-TO-SQL DBML 文件生成表/视图架构
-
07-07-2019 - |
题
我想要一个数据结构描述的单一来源。
有人问数据库中的DBML文件发生变化时是否可以刷新。我的做法虽然愚蠢但很常见;打开它,删除所有内容,然后再次拖放。我听说有一些第三者在做这些把戏。
但我在想,有什么办法可以反转操作吗?
在hibernate中,有一种方法可以从XML数据结构构建目标DB的DDL。
DBML文件有可能包含重建数据库DDL的所有信息吗?(例如。拥有这些 VIEW SQL、存储过程代码的副本),并即时构建“创建脚本”(就像您在 SQL Server 企业管理器中所做的那样)
解决方案
DBML 文件仅包含表、列、外键约束和主键。视图的存储方式与表相同,因此存储的唯一信息是视图的名称以及它返回的列(w/类型、可为空性等)。视图定义本身不被存储,因此无法从 dbml 文件中提取。
如果您使用 L2S 设计器和底层 DBML 文件进行数据建模,您将失去:
- 非 PK 索引/键
- 查看定义
- 存储过程定义
- 函数定义
- 别名类型
- ...ETC...
也就是说,如果您想从 DBML 生成表定义、FK、PK 等的 SQL-DDL,我的 Visual Studio 插件可以为您做到这一点。(它支持同步 db -> dbml 和 dbml -> sql-ddl -> db 您可以从以下位置下载它并获取试用许可证:
http://www.huagati.com/dbmltools/
不隶属于 StackOverflow