是否可以通过脚本自动生成我的Linq2Sql DBML?

时间:2009-04-23 15:13:12

标签: visual-studio-2008 linq-to-sql .net-3.5 sqlmetal

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

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

也许我错过了什么?

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

如果资金不是对象,最好的办法是获取visual studio 2008团队系统的数据建模版,创建数据库项目并使用它来维护数据库,数据模型和实体模型。保持数据库和实体模型同步并不是零工作,但是使用模式比较工具,它离它不远(并且它确实可以帮助你完成所有的苦差事。)

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

答案 2 :(得分: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