VS2013 Update 2更新後無法開啟EDMX

迫不及待更新到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補充)

歡迎推文分享:
Published 20 May 2014 10:51 PM 由 Jeffrey
Filed under:
Views: 9,986



意見

# ChrisTorng said on 20 May, 2014 09:16 PM

EF 6.1.1 Beta 1 Available blogs.msdn.com/.../ef-6-1-1-beta-1-available.aspx

似乎修復了

Designer: Error opening EF5 edmx with decimal precision in EF6 designer entityframework.codeplex.com/.../1653

# Jeffrey said on 21 May, 2014 05:31 AM

to ChrisTorng, 感謝補充,已加入本文。

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<May 2014>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication