2009-12-16 295 views
1

当我在Sql Server中修改表的结构时,是不是会自动反映在“Dbml”布局设计器中?每次我必须删除“dbml”布局设计器中的表并从SQL服务器拖动表Linq到Sql映射

回答

0

如果我是你我会开始使用SqlMetal SqlMetal是一个命令行应用程序用于生成LINQ DataContexts它可以生成dbml或只是一组类,供您使用你的项目(这是非常可定制的),所以创建一个批处理文件,调用SqlMetal并在每次更改数据库时运行它,并且项目将始终与数据库保持同步

如果您不想运行每次更新数据库时,批处理文件都可以在每次使用pre-build step构建应用程序时运行。

2

如果您可以选择“刷新”以保留您所做的任何本地自定义设置,但设计器似乎无法如此工作,那将会很不错。但是,您可以在设计器中通过在设计器中添加/删除生成的类中的列来对设计器进行相同的更新(手动)。

0

有许多的方式来保持L2S模式同步与底层数据库:

1)删除表(S)从设计师表面参与/类并将它们从“服务器资源管理器拖回'的东西。

......或者......

2)更新在L2S设计师手动参与的类。

......或者......

3)使用更新功能的第三方工具(一个这样的工具是我的外接:http://www.huagati.com/dbmltools/,在MSDN杂志的2009年12月发行也提到http://msdn.microsoft.com/en-us/magazine/ee819138.aspx

...或...

4)使用设计器或sqlmetal.exe重新生成整个DBML文件。