我已經做了足夠的研究,但找不到答案。使用實體框架與現有的ORACLE DB。 Visual Studio 2012和已棄用的ODP.NET驅動程序
我有一個Oracle DB,我正在使用我的ADO.NET,它工作正常。但是,我希望將它與Entity Framework 6結合使用。由於DB已經存在,因此我不打算採用「Code First」方法。 以下是我遇到的問題。 在跳到結論之前請記住它們。
- 我有VS 2012與舊的ODP驅動程序。 VS要我升級。 CANT
- 我無法使用EDM生成圖表和代碼,因爲我沒有安裝最新的ODAC並且沒有連接到Oracle DB的選項
- 如果我嘗試使用相同的連接字符串與做工精細用ADO.NET EF然後我得到followig錯誤
ORA-12154:TNS:在連接標識符指定
注意我使用LDAP連接到無法解析Oracle DB。
我也嘗試生成一個空的EDM並添加一個新的連接字符串,如下所示,然後我得到了一個不同的錯誤。
<add name="EF" connectionString="metadata=res://*/Model1.csdl
|res://*/Model1.ssdl
|res://*/Model1.msl;
provider=Oracle.ManagedDataAccess.Client;
provider connection string="data source=MY_SERVICE;password=MY_PASSWORD;persist security info=True;user id=MY_USERID""
providerName="System.Data.EntityClient" />
的實體類型是不是模型用於當前 上下文的一部分。
我的問題。
- 是否有解決上述問題的方法。
- 有沒有辦法映射Oracle表格,存儲過程,功能等手動?
我知道上面沒有太大意義,但這些都是我的約束。我正在嘗試避免長/舊的ADO.NET代碼。如果它不能完成,那也沒關係。
在此先感謝您的意見。
謝謝你的答覆。我知道什麼是ODAC和ADO.NET。如果你再看看我的問題,你會注意到我沒有連接到ADO.NET的問題,但是我想使用EF 6.我使用LDAP,所以tnsnames.ora與討論沒有關係。說了我可以連接到數據庫。然而,在那個時候,我不確定如何告訴EF 6 Framework我想使用Database First Model(無需使用EDM)。我還在數據庫中看到了遷移表,所以確信它使用Code First我相信。 再次感謝您的意見。 – programmerboy
那麼,實際上,規則應該更精確地說:「數據源別名,在'sqlnet.ora'和'tnsnames.ora'或'ldap.ora'文件中的引用......」 –