2009-09-15 61 views
0

我想要有一个数据结构描述的单一来源。从LINQ-TO-SQL DBML文件生成表/视图模式

有些人问,DBML文件在数据库中更改时是否可以刷新。我的做法是愚蠢但常见,打开它,删除全部,然后再拖放。 我听说有一些第三方做这些伎俩。

但我在想,有什么办法来逆转操作?

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

DBML文件可能包含重建数据库DDL的所有信息吗? (例如,具有VIEW SQL和存储过程代码的副本),并即时创建“创建脚本”(如在SQL Server企业管理器中执行的操作)

回答

2

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

如果使用L2S设计和数据建模的基本DBML文件,你会失去:

  • 非PK索引/键
  • 视图定义
  • 存储过程定义
  • 函数定义
  • 别名类型
  • ...等...

也就是说,如果你想为你的DBML中的表defs,FKs,PKs等生成SQL-DDL,那么Visual Studio的加载项可以为你做到这一点。 (它支持同步双向DB - > DBML,并DBML - > SQL-DDL - > DB你可以下载它,并从试用许可证:
http://www.huagati.com/dbmltools/

+0

我下载这个工具,这是我从得到的输出它创建表我想为'创建表。(,,,,,,)的SQL脚本;'不是很有帮助。 – 2010-06-10 20:43:11