让ADO.NET Entity Framework支持Oracle数据库
Oracle最近发布了 Oracle Data Access Component(ODAC)11. 2 Rel 4,其中增加了对 Entity Framework 4.1 和4.2的支持。这让 .NET 开发者可以使用 Oracle 数据库来应用这种流行的 ORM 工具,并使用 LINQ to Entities 来进行数据访问,而不需要编写 SQL 语句。
尽管新的提供程序(provider)支持 EF,但它并不支持最新的特性,像在 EF 4.1 中引入的代码先行(Code First)和DbContext。另外,除了对 EF 的支持之外,在最新的版本中还引入了多项其它特性;例如,你可以为 Oracle 数据库中的数据编写 WCF 数据服务(WCF Data Services)。你可以从官方文档中了解到所有 ODAC 所支持的功能。
该提供程序的 beta 测试版本已经发布一段时间了。想要尽快上手的开发者,可以阅读关于应用 Visual Studio Toolset 使用 Oracle 和 EF 的文章,以及简单的教程。
Entity Framework 的设计中有提供程序模型(provider model),从而可以使用第三方数据提供程序。另外还有一个示例提供程序,显示了如何对非 SQL Server 数据库做到这一点。Oracle 现在为 Oracle 数据库实现了这个工具。
Oracle 并非是唯一拥有支持 EF 提供程序的非 SQL Server 数据库——ADO.NET 提供程序页面列举了所有针对各种数据库的第三方提供程序,它们都支持 Entity Framework。
查看英文原文:Oracle Provider Gets EF Support
默认情况Visual Studio 2010的.NET项目模板及类型模板中的Entity Framework是不支持Oracle数据库的,找了一圈发现第三方有些插件,但试了一下都不尽如人意,而Oracle官方也有一些工具可以对此做扩展,让Entity Framework支持Oracle数据库,接下来就简单说一下。
首先准备两个东西,都在Oracle官网可以下到:
1. ODAC 11.2 Release 3 (11.2.0.2.1) with Oracle Developer Tools for Visual Studio
下载地址:http://www.oracle.com/technetwork/developer-tools/visual-studio/downloads/index.html
2. Oracle Data Access Components (ODAC) for Microsoft Entity Framework and LINQ to Entities
下载地址:http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html
注意:ODACforEntityFramework不论你的操作系统是32位还是64位,开发人员只装32位,因为VS是32位的程序,这个要切记,装64位的话还是不能用的。
另外,Oracle官网下东西是要注册一个用户的。
安装好环境之后我们就可以使用了:
1. 打开Visual Studio 2010及要使用Entity Framework的项目:

2. 在测试项目上面选择新建项:

3. 选择ADO.NET实体数据模型:

4. 在弹出向导中选择数据库:

5. 在第二步的新建连接中可以看到Oracle选项,如果没有这一项证明上述的工具没装好,再检查一下吧:

5. 选择Oracle数据库后输入数据库配置信息:

6. 测试连接成功后即可确定并完成数据库配置,并保存连接字符串:

7. 选择要生成实体的表:

8. 完成后即可看到与使用SQL Server数据库创建出相同的实体模型:

至此即可开始编写你要的程序,希望上述内容对大家有所帮助,谢谢!
程序员的基础教程:菜鸟程序员
让ADO.NET Entity Framework支持Oracle数据库的更多相关文章
- [VSTS]让ADO.NET Entity Framework支持Oracle数据库(转载)
近期由于项目所需不得不研究Oracle数据库,回想上一次用Oracle还是07年的事情,实习时候做华晨宝马的项目简单接触了Oracle.这次的项目需要基于.NET平台,我个人的习惯是能用微软自带的就不 ...
- 让ADO.NET Entity Framework 支持ACCESS数据库
如写的不好请见谅,本人水平有限. 个人简历及水平:. http://www.cnblogs.com/hackdragon/p/3662599.html 接到一个程序和网页交互的项目,用ADO.NET ...
- 让Entity Framework支持MySql数据库(转载)
转载地址:http://www.cnblogs.com/wintersun/archive/2010/12/12/1903861.html Entity Framework 4.0 也可以支持大名鼎鼎 ...
- 用 Entity Framework结合Oracle数据库来开发项目
项目需要,要使用Oracle 11g数据库.作为不想写SQL的程序员,所以...... 原先想当然的是使用EF+MSSQL的方式来进行配置.吃了哑巴亏.然后谷歌出了一篇好文,沿着这篇文章进行了搭建,I ...
- 读书笔记之ado.net entity framework
提供了对数据访问的一种抽象层,是更加易于以编程的方式来操作及管理数据 有以下几种模式:Model First, Database First, and Code First 现在主要讨论code Fi ...
- 使用Entity Framework Core访问数据库(Oracle篇)
前言 哇..看看时间 真的很久很久没写博客了 将近一年了. 最近一直在忙各种家中事务和公司的新框架 终于抽出时间来更新一波了. 本篇主要讲一下关于Entity Framework Core访问ora ...
- ADO.NET Entity Framework
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案, 早期被称为 ObjectSpace,现已经包含在 V ...
- Entity Framework连接Mysql数据库并生成Model和DAL层
Entity Framework (EF,ADO.NET Entity Framework)是微软官方提供的.NET平台的ORM框架.相比于LINQ TO SQL,EF框架具有很明显的优势: EF框架 ...
- Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF
Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF Entity FrameWork的特点 1.支持多种数据库(MSSQL.Oracle.M ...
随机推荐
- seq_file学习(2)—— seq_file
li {list-style-type:decimal;}ol.wiz-list-level2 > li {list-style-type:lower-latin;}ol.wiz-list-le ...
- ios之animateWithDuration的坑
[UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> options:< ...
- chmod不起作用的原因分析 - Linux下查看分区文件系统类型
chmod不起作用 可能的原因: chmod对应的是windows下的一个磁盘分区,ntfs不支持linux权限 附:Linux下如何查看分区文件系统类型 1,fdisk -l fdisk -l 只能 ...
- 微信小程序判断用户是否需要再次授权获取个人信息
一.index.js设置如下 //获取用户的授权信息,放到本地缓存中 wx.getSetting({ success: (res) => { if(res.authSetting['scope. ...
- jvm理论-字节码指令案例
案例1 public class Demo { public int calc(){ int a=100; int b=200; int c=300; return(a+b)*c; } public ...
- numpy累积
numpy累积有两类函数:np.cumxxxxx和np.ufunc.accumulate() import numpy as np a = np.arange(1, 5) print(np.cumpr ...
- iOS12
ios 12 中的新特性. 已经有很多文章写得很好,这里不再赘述,直接给大家几个传送门: https://sspai.com/post/47168 https://post.smzdm.com/p/7 ...
- hdu 3068 最长回文(manacher&最长回文子串)
最长回文 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- 原创科幻短篇《Bug》
这回不是纯科幻,夹了点玄幻. 以下正文: 大一的时候,李双休谈了个女朋友,俩人学校相距不远,周末约一起看电影.那是李双休第一次自己坐公交,坐反了,绕城一周,电影开始后一个小时才到,就赶上看了个片尾彩蛋 ...
- 行为链分析zipkin
行为链分析zipkin - 跑zipkin python例子 https://github.com/openzipkin/pyramid_zipkin-example # get the latest ...