實體框架6在將存儲過程添加到數據模型後無法構建

entity-framework entity-framework-6

我剛剛下載了實體框架6並創建了一個全新的項目來測試它。我們目前使用EF 5。

添加完所有表和存儲過程後,我嘗試構建項目但是出現錯誤:

“System.Data.Objects.ObjectParameter”類型的值無法轉換為“System.Data.Entity.Core.Objects.ObjectParameter”。

類型'System.Data.Entity.Core.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)'的值不能轉換為'System.Data.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)'。

我無法弄清楚為什麼這不會開箱即用

EF 5有這樣的問題。

我正在使用VS 2012. .Net 4.5 Vb.net(也試過一個C#項目......同樣的問題)

有任何想法嗎?

編輯

答案是為VS 2012安裝EF6工具。我不知道我必須這樣做,因為我認為在我添加Entity Framework包時安裝了它。

一般承認的答案

我猜你正在使用VS2012中的EF工具,這些工具仍然綁定到原始的EF發行版(.NET框架的一部分)。 EF6使用帶外分發,它不適用於以前的工具 - 這就是為什麼這些類型具有不同的命名空間並且無法從一個轉換為另一個的原因。

解決方案應該是為VS2012下載和安裝EF6工具,或者使用VS2013,其中應包含工具。


熱門答案

您可以通過替換來克服此情況:

using System.Data.Objects;

附:

using System.Data.Objects;

您可能需要更新T4模板中的using語句,例如Context.tt文件,以便在重新生成時自動生成的文件繼續工作。

之前

在此處輸入圖像描述

在此處輸入圖像描述




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因