实体框架Code First迁移

4
在运行以下命令时,
pm> Update-Database

出现以下错误:

System.Reflection.TargetInvocationException:由调用目标引发了异常。 ---> System.TypeInitializationException:'System.Data.Entity.SqlServer.SqlProviderServices'的类型初始化程序引发了异常。 ---> System.TypeLoadException:程序集 'EntityFramework.SqlServer,Version=6.0.0.0,Culture=neutral, PublicKeyToken=b77a5c561934e089' 中的类型 'System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy' 的方法 'ExecuteAsync' 没有实现。


1
也许这可以帮助:https://dev59.com/MnTYa4cB1Zd3GeqPtE0y - Artiom
1
你的解决方案中的所有项目都引用了相同的Entity Framework版本吗?你进行了干净的完全重建吗?导致这个错误的原因是什么,之前它工作过吗,你有做出任何更改吗? - CodeCaster
6个回答

5

您的EF版本和项目版本不一致。 您的Entity Framework是.NET 4的6版本,但您的项目使用的是.NET 4.5。 使用.NET 4.5的项目必须使用.NET 4.5的EF。


1
我在 app.config 中没有发现任何问题,但这是解决方案:
  • 卸载 Entity Framework
  • 重新安装 Entity Framework
- Suplanus
实际上,即使您使用像我一样的更新版本的ef(例如6.1.3),错误消息中仍将显示版本6.0.0.0。 - Jason Cheng

3
我曾经遇到相同的问题(EF 6.1.3和net462),尝试了所有答案,但是没有解决问题。最终我切换到发布配置后,问题得到了完美解决。 不确定调试模式存在何种问题,因为它们几乎相同,除了调试跟踪等。 希望这能帮助未来的其他人。

2

你好,我曾经遇到过类似的问题。经过长时间的寻找,我发现一个项目引用了实体框架版本6.1.1,而同一解决方案中另一个项目引用了版本6.1.3。我从包管理器控制台中删除了6.1.3版本。问题最终得到了解决。

希望这能帮助到其他人。


1

0

我遇到了相同的问题。花费了几个小时来解决。最终解决问题的办法是:关闭项目,使用相同的名称创建一个新项目,将我创建的文件夹和类复制到新项目中,并通过NuGet下载所需的包。然后执行Add-Migration……之后一切都很顺利。


0

我遇到了同样的问题,因为我在运行另一个版本为6.1.3的项目。然后我的项目无法正常工作。所以我更新了与其他项目相同版本的entity_framework。重启项目,运行enable-migrations命令。它成功了!

愉快编程!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接