当前位置:Gxlcms > 数据库问题 > 【转】Entity Framework6 with Oracle(可实现code first)

【转】Entity Framework6 with Oracle(可实现code first)

时间:2021-07-01 10:21:17 帮助过:20人阅读

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>

连接字符串如下 记得提供下 providerName 为 Oracle.ManagedDataAccess.Client

<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\Framework\v4.0.30319\Config

下的  machine.config (64位的话 路径是 Framework64,最好都检测下)

machine.config 可以理解为webconfig的父类 所以我们需要检查下里面的内容  是否有

<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

这样的内容   如果有  修改版本号Version 为当前Oracle.ManagedDataAccess.Client版本。 

三.注意事项

1.访问时提示表不存在,有可能权限不够。需要设置默认的Schema 需要在 OnModelCreating设置

 modelBuilder.HasDefaultSchema(“Schema名”);

2.oracle 的配置是否配置了使用ora方式来访问。 建议先不使用ora方式,有可能是这个方式访问导致的问题。

3.oracle 访问的问题 一定多去官网看下。

  推荐几篇

  http://docs.oracle.com/cd/E56485_01/win.121/e55744/toc.htm

  http://docs.oracle.com/cd/E56485_01/win.121/e55744/entityMigrate.htm#BABEHEFE

【转】Entity Framework6 with Oracle(可实现code first)

标签:客户端   注意事项   data   model   int   路径   sys   目录   ken   

人气教程排行