2010-09-16 66 views
2

我有一種觀點,我一直在試圖將實體框架或linq映射到sql。然而,當查詢視圖時,它只是可怕地崩潰(這只是這個視圖)。Visual Studio:你如何刷新Linq到Sql/Entity Framework的元數據

因爲錯誤消息是完全通用的我以爲我會分裂和征服,並刪除我的觀點(在SQL Server中)的一半列,然後更新DataClasses ...但是,當我編譯我得到一個錯誤:

The associated metadata type for type 'test' contains the following unknown properties or fields 

...然後列出我已刪除的所有字段。我試圖清理我的解決方案,但仍然得到這個錯誤。

如何刷新元數據?

回答

1

如果您將數據庫對象從服務器資源管理器拖動到L2S設計器中,那麼在第一輪之後它會緩存架構信息。如果您執行架構更改並希望重新拖動同一對象,則需要斷開連接並重新連接服務器資源管理器,或重新啓動Visual Studio以使其重新查詢架構信息的數據庫。

EF的「來自數據庫的更新模型」應該不會受到緩存的影響,但是它具有另一個問題,它只會更新EF模型的SSDL部分,而將CSDL中的以前映射的實體/列/等留在原地在那裏他們成爲孤兒,並可能導致模型驗證失敗,必須手動清理或使用第三方工具。

這兩個問題是由各種第三方工具解決,列表或第三方工具L2S和/或EF看到:
http://www.thinqlinq.com/default/LINQ-Tools.aspx
http://damieng.com/blog/2009/06/04/linq-to-sql-resources

一個解決雙方的上述問題的工具是我的Visual Studio插件,Huagati DBML/EDMX工具。如果你想嘗試它,你可以下載它並從http://huagati.com/dbmltools/

+0

獲得試用許可證感謝您的信息 – 2010-09-17 01:59:53