• 让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的项目:

    image

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

    image

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

    image

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

    image

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

    image

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

    image

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

    image

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

    image

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

    image

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

    程序员的基础教程:菜鸟程序员

  • 相关阅读:
    POJ 2299 UltraQuickSort
    POJ 3264 Balanced Lineup
    AcWing 265. 营业额统计
    POJ 3468 A Simple Problem with Integers
    P3372 【模板】线段树 1
    POJ 2155 Matrix
    HDU 2852 KiKi's KNumber
    POJ 3067 Japan
    【java/oracle】往blob字段里写入数据例子
    【Java/Oracle】将连续文件写入Blob字段
  • 原文地址:https://www.cnblogs.com/guohu/p/3192638.html
Copyright © 2020-2023  润新知