我正在尝试更新EDMX存储过程,我收到此错误:
无法隐式将System.Data.Entity.Core.Objects.ObjectResult<X>
类型转换为System.Data.Objects.ObjectResult<X>
我正在使用Visual Studio 2012。
答案 0 :(得分:18)
我遇到了错误,这些解决方案都没有用(我已经使用System.Data.Entity.Core.Objects
,它也在context.tt
等)。
我终于意识到问题出在键盘和椅子之间。存储过程完成了选择,但我正在尝试:
MyStoredProc_Result r = dbcontext.MyStoredPoc();
而不是
MyStoredProc_Result r = dbcontext.MyStoredPoc().FirstOrDefault();
答案 1 :(得分:9)
以XML模式打开context.tt
文件
并改变
using System.Data.Objects;
到
using System.Data.Entity.Core.Objects;
答案 2 :(得分:0)
您需要升级到新的Entity Framework 6运行时。
右键点击您的项目,然后选择Manage NuGet Packages...
在Online
标签下选择EntityFramework
,然后点击Install
注意:如果安装了以前版本的EntityFramework NuGet包,则会将其升级到EF6。
或者,您可以从程序包管理器控制台运行以下命令:
PM> Install-Package EntityFramework
答案 3 :(得分:0)
使用VS 2013或下载新的Entity Framework 6 Tools for Visual Studio 2012。
答案 4 :(得分:0)
您只需将“使用System.Data.Objects”更改为“using System.Data.Entity.Core.Objects”