EF5+Oracle12c连接操控Oracle数据库(ORM)

一、添加引用

注意加的是

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Oracle.ManagedDataAccess\v4.0_4.121.2.0__89b483f429c47342\Oracle.ManagedDataAccess.dll
这里写图片描述

二、新建数据库连接

使用EZ connect是一种连接方式,参见
https://blog.csdn.net/licheng6302/article/details/7222492
这里写图片描述

三、添加Ado.Net实体模型

按照向导操作,成功添加,注意这里需要Entity 版本为5.0.0.0

四、修改App.config

在entityframework下添加以下字段

<system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client" />
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>

如果未添加,会提示错误
这里写图片描述

五、删除数据

PlanTest p = new PlanTest();
   var d = from u in p.EMP
                    where u.EMPNO == 8000
                    select u;
   EMP e1 = d.FirstOrDefault();
   if(e1!= null)
   {
       p.EMP.Remove(e1);
       p.SaveChanges();
   }

工程下载:https://download.csdn.net/download/vainfanfan/10501411

六、总结

总之最后把这个EF5+Oracle12c的问题解决了,ORM的思想确实很优雅,而在实际配置过程中出现了各种各样的问题。修改app.config的原理我还没弄清楚。由于web项目使用的EF为6.0版本,因此还需将EF5升级,与web配套使用。

猜你喜欢

转载自blog.csdn.net/vainfanfan/article/details/80821670
今日推荐