C# 通过实体框架连接的Oracle数据库(C VS 2015数据库优先)错误

C# 通过实体框架连接的Oracle数据库(C VS 2015数据库优先)错误,c#,oracle,entity-framework,visual-studio-2015,C#,Oracle,Entity Framework,Visual Studio 2015,我对Entity Framework有点陌生,我正在尝试通过Entity Framework连接到Oracle数据库。 使用Visual Studio 2015实体框架向导,我通过反向工程当前数据库创建了一个数据库。 当我开始调试时,出现了一个错误: “System.InvalidOperationException”类型的未处理异常 发生在EntityFramework.dll中 其他信息:模型运行时无法使用上下文 正在创建。如果使用上下文,则可能引发此异常 在OnModelCreating方

我对Entity Framework有点陌生,我正在尝试通过Entity Framework连接到Oracle数据库。 使用Visual Studio 2015实体框架向导,我通过反向工程当前数据库创建了一个数据库。 当我开始调试时,出现了一个错误:

“System.InvalidOperationException”类型的未处理异常 发生在EntityFramework.dll中

其他信息:模型运行时无法使用上下文 正在创建。如果使用上下文,则可能引发此异常 在OnModelCreating方法中,或者如果使用相同的上下文实例 由多个线程并发访问。请注意,实例成员 DbContext的类和相关类不能保证是线程安全的

下面的代码是从模板生成的

namespace LibraryDLL.DAL
{
    using System;
    using System.Collections.Generic;

    public partial class BOOK
    {
        public BOOK()
        {
            this.HISTORies = new HashSet<HISTORY>();
        }

        public int BOOKID { get; set; }
        public string AUTHORFIRSTNAME { get; set; }
        public string AUTHORLASTNAME { get; set; }
        public string TITLE { get; set; }
        public string SHORTDESCRIPTION { get; set; }
        public string LONGDESCRIPTION { get; set; }

        public virtual ICollection<HISTORY> HISTORies { get; set; }
    }
}

如何修复它?

检查您的App.Config文件中是否包含以下配置

<configuration>
 <entityFramework>
  <providers>
   <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

编辑:

移动这个也是个好主意

<startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
一直到配置标签的底部

<configuration>
 <configSections>
  <section name="Oracle.ManagedDataAccess.Client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>