前些天做EF Model-First测试,开发环境为VS2013,数据库为Oracle 11g。所有东西都装好数据模型已经建立后准备执行“根据模型生成数据库”命令时,出现:Could not load file or assembly ‘ Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342’ or one of its dependencies系统找不到指定文件异常。

  之前安装的版本为Entity Framework 6.2.0,虽然已经引用了Oracle.ManagedDataAccess.EntityFramework Version=6.121.2.06.121.2.0,但仍然出现该问题。

  经过多次版本考察,发现之前安装ODAC版本为ODTwithODAC121021,其使用的EF版本应为5.0,之所以提示上述异常,估计是因为版本不兼容造成的。所以尝试删除之前版本的EF。删除方法为:

1、在VS2013中的菜单选择工具-->NuGet包管理器-->程序包管理器控制台;

2、因为EF6.2在安装时需要语言支持,所以要先卸载语言包,在命令中输入:Uninstall-Package EntityFramework.zh-Hans -Version 6.2.0 ;

3、语言包卸载后继续卸载EF6.2,输入命令:Uninstall-Package EntityFramework -Version 6.2.0 ;

4、提示卸载成功后,可以直接安装EF5.0了,输入命令:Install-Package EntityFramework -Version 5.0.0 ;

5、最后提示安装成功,再次尝试后得到想要的结果。

05-11 11:22