首页新闻找找看学习计划

如何使Entity Framework 6 支持Oracle 并运行在 Oracle 下

0
悬赏园豆:20 [待解决问题]

EF6支持oracle时,官方使用的是Oracle.ManagedDataAccess,但仅限于framework4.5,目前因为操作系统原因无法升级到framework4.5

EF6本身支持framework4.0,有没有途径可以让EF6支持oracle同时运行在framework4.0下?

蓝风»的主页 蓝风» | 初学一级 | 园豆:49
提问于:2016-05-29 16:56
< >
分享
所有回答(1)
0

在某台机器上安装了这个包之后,把Oracle.ManagedDataAccess.dll和Oracle.ManagedDataAccess.EntityFramework.dll复制出来就可以使用了,如果使用了配置文件的话,还要注意更改对应的配置文件,参照安装完nuget包之后的配置文件就可以。

 

另外,CodeFirst可以,Database first的还是要VS2012或以上在机器上安装了。

c99 | 园豆:1838 (小虾三级) | 2016-05-29 22:43

Oracle.ManagedDataAccess.EntityFramework.dll 不支持framework4.0,至少得4.5

支持(0) 反对(0) 蓝风» | 园豆:49 (初学一级) | 2016-05-30 08:32

@蓝风»: 

Entity Framework Database First and Model First Requirements

Oracle's support for Entity Framework Database First and Model First has the following version requirements:

  • ODP.NET 11.2.0.3 or higher

  • Microsoft Entity Framework 4 or higher, up to and including the 6.x versions.

If using Visual Studio tools, then use Visual Studio 2010 or higher and install Oracle Developer Tools for Visual Studio.

Entity Framework Code First Requirements

Oracle's support for Entity Framework Code First has the following version requirements:

  • ODP.NET 12.1.0.2 or higher

  • Microsoft Entity Framework 6 or higher

  • Microsoft .NET Framework 4.5 or higher

    Projects must set the target framework to .NET Framework 4.5 or higher. This can be done by modifying the project's properties in Visual Studio 2012 or higher.

在装了VS2012或更高版本的开发机器上,用database first先开发,然后部署的时候,把这两个dll一起部署。不要用code first功能就好。

支持(0) 反对(0) c99 | 园豆:1838 (小虾三级) | 2016-05-30 10:48

@c99: 

若不使用 (Oracle.ManagedDataAccess.EntityFramework.dll 不支持framework4.0,至少得4.5)

生成实体时,在设计界面 实体框架6.x为灰色,并提示

您的项目引用了最新版实体框架;但是,找不到进行数据连接所需的与最新版实体框架兼容的实体框架数据库提供程序

 

无法进行下一步操作

支持(0) 反对(0) 蓝风» | 园豆:49 (初学一级) | 2016-05-30 11:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册