Entity Fraamewark 6 with Visual Studio 2013 udate 3 for Oracle 11 g

7299 ワード

2014年7月にEF 5 with visual studio 2010 for orace 11 gに関するブログの原書住所を書きました.http://www.cnblogs.com/HouZhiHouJueBlogs/p/3844028.html、今oracleはEF 6に支持されています.技術の更新が速くて、細かいところを記録しないと、忘れられやすいので、このブログがあります.
Oracleは.netでサポートする基礎知識について紹介します.
1.若い頃、マイクロソフトが自分で作ったのがあります. System.Data.OracleClient.今はもう賞味期限の種類になりました.性能などはあまり良くないです.
2.Oracleオフィシャルで出るodp.net Oracle.DataAccess.dll(非委託管理バージョン)は32/64位に分けられます.そして面倒なのは、配置時にクライアント環境をインストールすることです.煩瑣きわまりない
3.Oracle公式近年新しく出た Oracle.ManagedDataAccess.dll これは非常に強いです.32/64位はもう区別しません.また、クライアントがインストールする必要はありません.性能も向上した.ado.netや他のORMフレームを使っても、このバージョンを使うことを勧めます.今回のEF 6もこのdllに基づいて開発します. 
公式のダウンロードアドレスはこれです.必ず公式に最新のダウンロードが必要です. 私はnugetから下のバージョンが低いので、サポートしません.
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html  (当時ダウンロードされたバージョンは4.121.00)ダウンロードが完了したら、配置はとても簡単です.cmdウィンドウに入ってinstallxxのコマンドを実行すればいいです.後でパラメータを提示します.
ダウンロードしました このカタログから odp.net\manage\common Oracle.ManagedDataAccess.dllと Oracle.ManagedData Access.EnttityFraamewark.dllは開発に使用されています.
codefirstを使用するには、関連する構成が必要です.
<configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />  
  </configSections>

  <entityFramework>
    <defaultConnectionFactory type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory,
Oracle.ManagedDataAccess.EntityFramework,
Version=6.121.2.0,
Culture=neutral,
PublicKeyToken=89b483f429c47342" />
    <providers>
      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
     
    </providers>
  </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>

<connectionStrings>

    <add name="OraString" connectionString="Data Source= (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = *****)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  );User ID=*****;Password=*****;Persist Security Info=True" providerName="Oracle.ManagedDataAccess.Client" />

  </connectionStrings>
ここにはもう一つの注意事項があります.ある人とoracleを入れたクライアントがあります.これは間違いを招くかもしれません.ここで注意してチェックしてください. C:\Windows\Microsoft.NET\Frame ebook\v 4.0.3 0319\Config
下の machine.co nfig(64桁ならルートは? Fraameweork 64、全部検出したほうがいいです.
machine.co nfigはwebconfigの親と理解できますので、中身を確認してみます. あるかどうか:
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
上記の配置が完了したら、EF 6は使用に入ることができます.
参照リンク:
http://www.cnblogs.com/wlflovenet/p/4187455.html
http://www.cnblogs.com/yzb305070/p/4251036.html
oracle訪問の問題:
  http://docs.oracle.com/cd/E56485_01/win.1.121/e 55744/toc.httm
  http://docs.oracle.com/cd/E56485_01/win.1.121/e 55744/entityMigrate.httm芫BABEHEFE