一、添加引用
注意加的是
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配套使用。