让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 ...
随机推荐
- 如何修改maven的默认jdk版本
问题: 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2.每次右键项目名-maven->update project 时候,项目jdk版本变了,变回 ...
- XSplit Quality, VBV-Buffer, VBV-Maxrate and Preset Settings
XSplit uses the x264 encoder, so let's start off by saying that parameters mentioned in the title, w ...
- Javascript 字符串(二)常用操作整理
一.js获取字符串的字节数 这个好使--- function getBytesLength(str) { // 在GBK编码里,除了ASCII字符,其它都占两个字符宽 return str.repla ...
- 【JavaScript从入门到精通】第一课 初探JavaScript魅力-01
第一课 初探JavaScript魅力-01 JavaScript是什么 如今我们打开一个大型的网站,都会有很多JS效果的功能和应用.对于学过CSS+HTML的同学,即使是像淘宝那样的网站,用一两天时间 ...
- GopherChina 2018
https://github.com/gopherchina/conference/tree/master/2018
- 关键词提取算法TextRank
很久以前,我用过TFIDF做过行业关键词提取.TFIDF仅仅从词的统计信息出发,而没有充分考虑词之间的语义信息.现在本文将介绍一种考虑了相邻词的语义关系.基于图排序的关键词提取算法TextRank. ...
- 【20180409】IT管理之IT十二条令
团队越来越大,靠人管几乎有力无心,只能靠制度管理了. 前段时间对部门颁布了12条令,效果明显. 特此Mark. 汇报: 三条总结:汇报讲究精简,一个事情最多一句话概括. 一页报告:内容精简,报告一页w ...
- PHP事件机制
先用 3W1H(who what why how) 分析法的思路来解释一下 事件机制, 更重要的是, 这个有什么用. 正常的程序执行, 或者说人的思维趋势, 都是按照 时间线性串行 的, 保持 连续性 ...
- Sublime text 3 格式化代码 插件
JsFormat: 重新打开sublime就能使用js格式化插件 使用方法: 1.快捷键:ctrl+alt+f 2.或者先用快捷键打开命令面板 “ctrl + shift + p”, 再输入 “For ...
- spring相关面试题
1.spring有依赖的bean,怎么加载? 2.spring怎么解决循环依赖? https://blog.csdn.net/u010853261/article/details/77940767 h ...