Quantcast
Channel: 黑暗執行緒
Viewing all articles
Browse latest Browse all 2311

VS2013 Update 2更新後無法開啟EDMX

$
0
0

迫不及待更新到VS2013 Update 2,開始享受內建的SCSS支援,也展開了TypeScript冒險之旅。

VS2013更新後,開啟工作專案冒出以下錯誤: (但編譯、執行完全不受影響)

Cannot load 'X:\TFS\MyProject\DEV\src\DAL\Boo.edmx': Specified cast is not valid.
無法載入 'X:\TFS\MyProject\DEV\src\DAL\Boo.edmx': 指定的轉換無效。

在VS2013試圖開啟Boo.edmx檔案,出現同樣錯誤,推測是新版EF Model編輯器與原.edmx不相容所致。很快在Microsoft Connect找到報案記錄,確認問題出在EF 5的Metadata函數(Function)參數資料缺少Precision及Scale屬性造成Model設計工具轉換錯誤(嚴格來說是新版設計工具未考量舊版格式的Bug)。如果.edmx沒用到有數字參數的Function,則不會出現錯誤。

在Bug修正前,有個暫時解決方案。如下圖,使用文字編輯工具開啟edmx檔,找到SSDL區的Function定義,尋找所有Type="decimal"或Type="numeric"的Parameter,手動加上Precision="8" Scale="4"兩個Attribute(Precision/Scale的值不重要,有給即可),存檔後,Visual Studio 2013就能正常開啟原有edmx檔囉~

2014-05-21更新: 此Bug在EF6.1 Beta已加入修正。(感謝Chris Torng補充)


Viewing all articles
Browse latest Browse all 2311

Trending Articles