3 回答

TA貢獻1871條經驗 獲得超8個贊
有三種方法可以使模型保持同步。
從設計器中刪除已修改的表,然后將它們從數據庫資源管理器中拖回到設計器圖面上。我發現,要使其可靠運行,您必須:
一種。在數據庫資源管理器中刷新數據庫架構(右鍵單擊,刷新)
。刪除表后保存設計器
c。向后拖動表格后再次保存。但是請注意,如果您修改了任何屬性(例如,關閉關聯的child屬性),則顯然會丟失這些修改-您必須再次進行修改。
使用SQLMetal從數據庫重新生成架構。我看過許多博客文章,這些文章顯示了如何編寫腳本。
直接在DBML的“屬性”窗格中進行更改。這適用于簡單的更改,例如允許字段為空。
在Visual Studio 2015、2017或2019中,默認情況下未安裝DBML設計器。您必須關閉VS,啟動VS安裝程序并修改安裝。在LINQ到SQL工具是必須安裝的功能。對于VS 2017/2019,您可以在單個組件>代碼工具下找到它。

TA貢獻1835條經驗 獲得超7個贊
我們使用一個自定義的書面T4模板,該模板可以動態查詢所有.DBML文件中每個表的information_schema模型,然后使用數據庫中的新架構信息覆蓋.DBML文件的某些部分。我高度建議實施這樣的解決方案-它節省了我很多時間,并且與刪除表并在模型中重新添加表不同,您可以保留關聯。使用此解決方案,當架構更改時,您將獲得編譯時錯誤。但是,您要確保您使用的是版本控制系統,因為差異確實很方便。如果您正在使用數據庫模式優先方法進行開發,那么這是一個很好的解決方案,效果很好。當然,我不能共享我公司的代碼,因此您自己編寫自己的代碼。但是,如果您了解一些Linq-to-XML并可以在該項目上上學,那么您可以到達想要的地方。
- 3 回答
- 0 關注
- 642 瀏覽
添加回答
舉報