4

我使用 Linq2Sql,并且厌倦了每次数据库更改时都重新创建 dbml。考虑到我想要所有表和所有过程,是否可以编写模型的创建脚本?理想情况下,它将是构建过程或自定义工具的一部分。

一个简单的“从模式刷新”按钮也可以,但据我所知,没有这样的事情。目前,我必须更新我的模型的唯一方法是删除已更改的表和过程,然后从服务器资源管理器中重新拖动它们。

也许我错过了什么?

4

3 回答 3

4

我想你可以使用SQLMetal命令工具

由 OP 编辑​​:我最终编写了一个批处理文件来签出代码,用它生成类,然后提交代码。然后,我创建了一个数据库架构更改级别触发器,以便在架构更改时运行此批处理文件。因此,现在,当架构更改时,Linq 类被创建、签入,然后 CCNet 创建 DLL 并分发它。甜的......

于 2009-04-23T15:16:53.347 回答
0

如果钱不是问题,最好的办法是获取Visual Studio 2008团队系统的数据建模版,创建一个数据库项目并用它来维护数据库、数据模型和实体模型。保持数据库和实体模型同步并不是零工作,但是使用模式比较工具,它离它不远(它肯定会为你完成所有苦差事)。

恕我直言,数据建模和设计往返证明购买 Visual Studio 2008 团队版的成本高于专业版。

于 2009-04-23T15:52:25.257 回答
0

SQLMetal

http://msdn.microsoft.com/en-us/library/bb386987(v=vs.110).aspx

SqlMetal 命令行工具为 .NET Framework 的 LINQ to SQL 组件生成代码和映射。SqlMetal 可以执行多种不同的操作,包括:

从数据库中,生成源代码和映射属性或映射文件。

从数据库生成中间数据库标记语言 (.dbml) 文件以进行自定义。

从 .dbml 文件生成代码和映射属性或映射文件。

此工具随 Visual Studio 自动安装。

SQLMetalPlus

可以在 Visual Studio 中使用刷新按钮自动生成 .dbml 的项目。

http://www.codeproject.com/Articles/37198/SqlMetalPlus-A-VS-Add-in-to-Manage-Custom-Changes

SQLMetalPlus 在 Github 上分叉

包括预建的安装程序。

https://github.com/thedemz/dotnet-sqlmetal-plus

于 2014-04-25T21:25:18.380 回答