简体   繁体   English

Oracle 12.2.0中的EntityFramework 6代码优先

[英]EntityFramework 6 Code First in Oracle 12.2.0

I use entity framework code firts 6.0 我使用实体框架代码第6.0版

I used Oracle Client 12.1.0 and I added that section to my web.config and it is working 我使用了Oracle Client 12.1.0,并将该部分添加到了web.config中,并且它可以正常工作

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="v11.0" />
  </parameters>
</defaultConnectionFactory>
<providers>
  <provider invariantName="Oracle.DataAccess.Client" type="Oracle.DataAccess.EntityFramework.EFOracleProviderServices, Oracle.DataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>

I upgrade my drive to oracle 12.2.0 and I change my web.config like this(only Version=6.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> part was changed) but I got that error,what I am missing?? 我将驱动器升级到oracle 12.2.0,并像这样更改了web.config(仅Version = 6.122.1.0,Culture = neutral,PublicKeyToken = 89b483f429c47342“ />一部分已更改),但我遇到了这个错误,我缺少了什么??

Unhandled Error Occured:System.NotSupportedException: Unable to determine the provider name for provider factory of type 'Oracle.DataAccess.Client.OracleClientFactory'. 发生未处理的错误:System.NotSupportedException:无法确定类型为'Oracle.DataAccess.Client.OracleClientFactory'的提供程序工厂的提供程序名称。 Make sure that the ADO.NET provider is installed or registered in the application config. 确保已在应用程序配置中安装或注册了ADO.NET提供程序。

   <entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="v11.0" />
  </parameters>
</defaultConnectionFactory>
<providers>
  <provider invariantName="Oracle.DataAccess.Client" type="Oracle.DataAccess.EntityFramework.EFOracleProviderServices, Oracle.DataAccess.EntityFramework, Version=6.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</providers>

I added this section and it works


<system.data>
<DbProviderFactories>
  <!-- Remove in case this is already defined in machine.config -->
  <remove invariant="Oracle.DataAccess.Client" />
  <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  <add name="EF Tracing Data Provider" invariant="EFTracingProvider" description="Tracing Provider Wrapper" type="EFTracingProvider.EFTracingProviderFactory, EFTracingProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=def642f226e0e59b" />
</DbProviderFactories>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM