2009-12-16 119 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文件。