2014年7月的时候,写了一篇关于EF5 with visual studio 2010 for oracle 11g的博文 原文地址 :http://www.cnblogs.com/HouZhiHouJueBlogs/p/3844028.html,现在oracle已经支持到EF6了。技术更新快,有些细节如不记录下来,很容易被遗忘,故有此篇博文。

  Oracle 对.net支持的一些基础知识了解介绍

1.早年的时候,微软自己做的有 System.Data.OracleClient。 现在已经成了过期类了。性能等都不是很好。

2.Oracle 官方出的odp.net  Oracle.DataAccess.dll(非托管版本) 还要分32/64位。而且很麻烦的是 部署的时候 需要装客户端环境。非常繁琐。

3.Oracle 官方近年新出的  Oracle.ManagedDataAccess.dll  这个非常给力 不再区分32/64位了。 而且不需要客户端再安装东西了。性能也得到了提高。不管是用ado.net或者其他ORM框架都建议使用此版本dll。这次我们的EF6 也会依据此dll进行开发。

官方下载地址是这个 一定要去官方下载最新的 才能支持EF6  我从nuget上下的版本较低 不支持。。

http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html  (当时下载的版本为4.121.2.0)。下载好后,部署的方式十分简单,进入cmd窗口执行installxx的命令即可,后面会提示参数。

下载好后  从这个目录下 odp.net\managed\common  拿出Oracle.ManagedDataAccess.dll 和 Oracle.ManagedDataAccess.EntityFramework.dll ,已备开发使用。

使用codefirst需要有相关配置,如下:

<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections> <entityFramework>
<defaultConnectionFactory type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory,
Oracle.ManagedDataAccess.EntityFramework,
Version=6.121.2.0,
Culture=neutral,
PublicKeyToken=89b483f429c47342" />
<providers>
<provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </providers>
</entityFramework> <system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver"
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data> <connectionStrings> <add name="OraString" connectionString="Data Source= (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *****)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
);User ID=*****;Password=*****;Persist Security Info=True" providerName="Oracle.ManagedDataAccess.Client" /> </connectionStrings>

这里还有个注意事项,因为有的人以及装了oracle的客户端。这可能会导致一些错误。这里 请注意检查下  C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config

下的  machine.config (64位的话 路径是 Framework64,最好都检测下)

machine.config 可以理解为webconfig的父类 所以我们需要检查下里面的内容  是否有:

<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

上述配置完成之后,EF6即可投入使用。

参考链接:

http://www.cnblogs.com/wlflovenet/p/4187455.html

http://www.cnblogs.com/yzb305070/p/4251036.html

oracle 访问的问题:

http://docs.oracle.com/cd/E56485_01/win.121/e55744/toc.htm

http://docs.oracle.com/cd/E56485_01/win.121/e55744/entityMigrate.htm#BABEHEFE

最新文章

  1. 一个无限加载瀑布流jquery实现
  2. MetInfo 5.1 自动化getshell工具
  3. VS2015下编译64位GDAL总结
  4. PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂
  5. linux下发现可疑用户时处理办法
  6. Java单例模式——并非看起来那么简单
  7. Greedy:Stripes(POJ 1826)
  8. https_request
  9. [cmd]linux 常用命令
  10. 射频识别技术漫谈(13)&mdash;&mdash;Mifare S50与S70【worldisng笔记】
  11. 超人学院Hadoop大数据资源分享
  12. 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法
  13. spring mvc 入门示例
  14. FWT模板
  15. Python内置函数(36)——reversed
  16. (译)MySQL 8.0实验室---MySQL中的倒序索引(Descending Indexes)
  17. MySQL 数据类型对比:char 与 varchar;varchar 与 text;datetime 与 timestamp;blob 与 text;
  18. BZOJ 1029: [JSOI2007]建筑抢修 优先队列
  19. hadoop1.0.4运行程序出现“Java heap Space”错误
  20. 搭建ssm+maven环境遇到的问题

热门文章

  1. 小程序:怎么在两层列表循环(wx:for)的时候判断是否为最后一个元素
  2. APIO2014 连珠线
  3. 【maven】---初识
  4. Linux下对于makefile的理解
  5. linux性能评估与分析工具---CPU篇
  6. 网页中这 10 种字体的运用方式,不会让人觉得 Low
  7. 2016级算法第二次上机-A.画个圈圈诅咒你
  8. maven build 添加到 META-INF 目录。
  9. Oracle 行列转换函数pivot、unpivot的使用(二)
  10. MVC返回数据流,ajax接受并保存文件