博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Entity Framework6 with Oracle(可实现code first)
阅读量:7102 次
发布时间:2019-06-28

本文共 1367 字,大约阅读时间需要 4 分钟。

Oracle 已在2014年底提供对EF6的支持。以前只支持到EF5。EF6有很多有用的功能 值得升级。这里介绍下如何支持Oracle

  一.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上下的版本较低 不支持。。

  (当时下载的版本为4.121.2.0)

下载好后  从这个目录下 odp.net\managed\common  拿出2最关键的dll

Oracle.ManagedDataAccess.dll 和 Oracle.ManagedDataAccess.EntityFramework.dll  

  二.修改webconfig配置文件

加入如下代码:

连接字符串如下 记得提供下 providerName 为 Oracle.ManagedDataAccess.Client

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

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

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

这样的内容   如果有  修改版本号Version 为当前Oracle.ManagedDataAccess.Client版本。 

三.注意事项

1.访问时提示表不存在,有可能权限不够。需要设置默认的Schema 需要在 OnModelCreating设置

 modelBuilder.HasDefaultSchema(“Schema名”);

2.oracle 的配置是否配置了使用ora方式来访问。 建议先不使用ora方式,有可能是这个方式访问导致的问题。

3.oracle 访问的问题 一定多去官网看下。

  推荐几篇

  

  

转载于:https://www.cnblogs.com/chriskwok/p/6978087.html

你可能感兴趣的文章
HTTP POST GET 本质区别详解
查看>>
PHP使用Simple_HTML_DOM遍历、过滤及保留指定属性
查看>>
MongoDB学习笔记~Mongo集群和副本集
查看>>
12个有趣的C语言问答
查看>>
[LeetCode] Max Consecutive Ones 最大连续1的个数
查看>>
30.14. vmstat
查看>>
Gym 100952A&&2015 HIAST Collegiate Programming Contest A. Who is the winner?【字符串,暴力】
查看>>
xml元素类型PCDATA和CDATA的区别(DTD中)
查看>>
单反成像原理
查看>>
嵌入式有无操作系统的区别
查看>>
laravel的消息队列剖析
查看>>
导出表结构(数据字典)
查看>>
Winform开发框架之权限管理系统改进的经验总结(3)-系统登录黑白名单的实现...
查看>>
WebGIS中一种根据网格索引判断点面关系的方法
查看>>
[译]SSO解决方案大全 Single Sign-On for everyone
查看>>
BZOJ 1008 越狱
查看>>
16.3. arp
查看>>
ueditor上传图片到七牛云存储(form api,java)
查看>>
其实你不了解黑客
查看>>
springboot源码分析16-spring boot监听器使用
查看>>