2016-05-13 9 views
0

EFがLDAP接続を介してOracle DBからエンティティをマッピングできるようにする設定ファイルを設定する方法のサンプルコードがあります。私が読んだドキュメントのほとんどは<LDAPSetting>タグについて同意しますが、<connectionStrings>および/または<entityFramework>タグについては何も言いません。これまでのところ、これは私が持っているものです。LDAPを使用してEntity Frameworkを構成する方法は?

<oracle.manageddataaccess.client> 
    <version number="*"> 
     <LDAPsettings> 
     <LDAPsetting name="DIRECTORY_SERVERS" value="(serverX:3060:3131,serverY:3060:3131,serverZ:3060:3131,serverQ:3060:3131)"/> 
     <LDAPsetting name="DIRECTORY_SERVER_TYPE" value="oid"/> 
     <LDAPsetting name="DEFAULT_ADMIN_CONTEXT" value="cn=OracleContext,dc=mydomain,dc=com"/> 
     </LDAPsettings> 
     <settings> 
     <setting name="NAMES.DIRECTORY_PATH" value="(LDAP)"/> 
     </settings>  
    </version> 
    </oracle.manageddataaccess.client> 

いずれのサンプルも大きな助けになります。

答えて

0

いくつかのドキュメントを読んだ後、私はLDAPを設定する2つの方法があります気づいた:LDAPとODP.NETマネージドプロバイダのチェックも、この問題について

。したがって、あなたのために働くのは "すべき"の問題ではなく、 "それは"問題です。 @Wernfriedが私が<setting>タグを使用し、このreferenceに従っていることを示唆したので、それは問題ありません。しかし何らかの理由で私はそれが私にはうまくいかなかったのか分からない。代わりに、最初の<LDAPsetting>タグをというLDAP設定セクションのhereと指摘したままにしました。

それは以下のように簡単だった<connectionStrings>のとおり:

<connectionStrings> 
    <add name="Source" connectionString= "Data Source=ServiceName;password=your_password;User ID=your_user" providerName="Oracle.ManagedDataAccess.Client" /> 
</connectionStrings> 
  • 出典:ソースの名前。
  • ServiceName:接続先のOracleサービス。

Entity Frameworkに関しては、NuGetパッケージインストーラによって設定されたデフォルト設定を維持していました。私のプロジェクトでは、オラクルODP.NET、マネージド・ドライバーおよびオラクルODP.NET、マネージド・エンティティー・フレームワーク・ドライバー NuGetパッケージをインストールしました。

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
    <parameters> 
     <parameter value="v12.0"/> 
    </parameters> 
    </defaultConnectionFactory> 
    <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> 
1

あなたの構文をチェックし、それは次のようにする必要があります:

<oracle.manageddataaccess.client> 
    <version number="*"> 
     <LDAPsettings> 
     <setting name="DIRECTORY_SERVERS" value="(serverX:3060:3131,serverY:3060:3131,serverZ:3060:3131,serverQ:3060:3131)"/> 
     <setting name="DIRECTORY_SERVER_TYPE" value="oid"/> 
     <setting name="DEFAULT_ADMIN_CONTEXT" value="cn=OracleContext,dc=mydomain,dc=com"/> 
     </LDAPsettings> 
    <settings> 
     <setting name="NAMES.DIRECTORY_PATH" value="(LDAP)"/> 
     </settings>  
    </version> 
    </oracle.manageddataaccess.client> 

は詳細についてConfiguring Oracle Data Provider for .NETを参照してください。 ODP.NET Managed library does resolve alias, but 32-bit library does

+0

設定@ wernfried-domscheitのおかげでありがとうございます。最後のリンクについては、ODP.NET Managed Driverが完全に管理されているため、残念ながらOracle Clientを使用していません。したがって、Oracle Clientはオプトアウトすることができます。 また、上記のLDAP設定を使用してEntity Frameworkを構成する方法に関するご意見をお待ちしております。前もって感謝します。 – yopez83

関連する問題