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配套使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章