如何使用LDAP配置实体框架?

时间:2016-05-13 19:49:34

标签: c# oracle entity-framework ldap odp.net

我想有一个示例代码,介绍如何设置一个允许EF通过LDAP连接从Oracle DB映射实体的配置文件。我读过的大多数文档都同意<LDAPSetting>标记,但对<connectionStrings>和/或<entityFramework>标记一无所知。到目前为止,这就是我所拥有的。

<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>

任何样本都会有很大的帮助。

2 个答案:

答案 0 :(得分: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

关于LDAP和ODP.NET托管提供商还检查此问题:ODP.NET Managed library does resolve alias, but 32-bit library does

答案 1 :(得分:0)

阅读完一些文档后,我发现有两种设置LDAP的方法。因此,这不是&#34;应该&#34;但是&#34;其中&#34;适合你。正如@Wernfried建议我使用了<setting>标签并根据此reference它很好。但是,出于某种原因,我不知道它对我不起作用。相反,我保留了 LDAPSettings部分 here中指向的初始<LDAPsetting>标记,但它确实有效。

至于<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包安装程序配置的默认设置。在我的项目中,我安装了官方Oracle ODP.NET,托管驱动程序官方Oracle 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>
相关问题