Oracle Provider开始支持Entity Framework

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. 在测试项目上面选择新建项:

Oracle Provider开始支持Entity Framework_第1张图片

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

Oracle Provider开始支持Entity Framework_第2张图片

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

Oracle Provider开始支持Entity Framework_第3张图片

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

Oracle Provider开始支持Entity Framework_第4张图片

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

Oracle Provider开始支持Entity Framework_第5张图片

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

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

Oracle Provider开始支持Entity Framework_第6张图片

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

Oracle Provider开始支持Entity Framework_第7张图片

至此即可开始编写你要的程序,希望上述内容对大家有所帮助,谢谢!

 

你可能感兴趣的:(oracle,sql,数据库,server,Microsoft,LINQ,Components)