相关疑难解决方法(0)

Oracle ODP.Net与实体框架6 - 无法找到实体框架数据库兼容的提供程序

我正在尝试使用适用于Oracle数据库的Entity Framework 6构建MVC 5 Web应用程序,我正在尝试使用ODAC 12c第3版,其中包括对Entity Framework 6 Code First和Code First Migrations的支持; NuGet,.NET Framework 4.5.2; 和ODP.NET,托管驱动程序XML DB.按照

http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

我有VS 2013社区版更新4.

我试图使用ADO.Net实体数据模型添加模型,使用Code First.

我在Web.config中配置了以下内容

    <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.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />


  </configSections>

  <entityFramework>
    <contexts>
      <context type="Tamayz.Context.Default, Tamayz.Context">
        <databaseInitializer type="MyProject.Context.Config.ContextInitializer, MyProject.Context" />
      </context>
    </contexts>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="Oracle.ManagedDataAccess.Client" 
                type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </providers>
  </entityFramework>
Run Code Online (Sandbox Code Playgroud)

我还添加了Oracle.ManagedDataAccess版本4.121.2.0作为参考并重建解决方案.

我现在尝试使用ADO.Net实体数据模型添加模型,使用Code First.但是在向导的最后一个屏幕中收到以下消息:

您的项目引用了最新版本的实体框架; 但是,找不到与此版本兼容的Entity Framework数据库提供程序...

如何正确配置我的应用程序以便能够首先使用带有EF6代码的ODAC?

.net oracle entity-framework ado.net-entity-data-model odac

37
推荐指数
2
解决办法
5万
查看次数

为 Oracle 数据库生成数据模型以静默方式失败或出现“无法找到或加载已注册的 .Net Framework 数据提供程序”

执行摘要

我正在尝试基于 Oracle 数据库生成实体框架模型。Visual Studio 的“实体数据模型向导”在安装过程中突然消失,没有错误消息。edmgen从命令行使用失败并显示Failed to find or load the registered .Net Framework Data Provider..

问题描述

方法一:用向导生成模型

我有一个名为 EFConsoleApp 的全新控制台应用程序。从 NuGet,我拥有最新版本的 EntityFramework、Oracle.ManagedDataAccess 和 Oracle.ManagedDataAccess.EntityFramework。

我使用“添加 -> 新项目...”菜单将 ADO.NET 实体数据模型添加到我的项目中。

在此处输入图片说明

在此处输入图片说明

我在第一个向导窗口中选择了“EF Designer from database”。(但如果我尝试任何其他选项,也会出现问题)。

在此处输入图片说明

我从下拉列表中选择我的数据连接。

在此处输入图片说明

我点击“下一步”。出现此空白窗口。它对所有用户输入都没有响应,并在大约五秒钟后消失。

在此处输入图片说明

Visual Studio 恢复正常,但没有添加模型,我的输出面板也没有新的输出(错误或其他)。

方法 2:生成模型 edmgen

从管理员命令窗口,我执行edmgen.

C:\Windows\system32>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\edmgen /connectionstring:"DATA SOURCE=ORCL2;USER ID=REDACTED;PASSWORD=REDACTED" /mode:FullGeneration /project:EFConsoleApp /provider:Oracle.ManagedDataAccess.Client
EdmGen for Microsoft (R) .NET Framework version 4.6.1038.0
Copyright (C) Microsoft Corporation. All rights reserved.

error 7001: Failed to find or load the registered …
Run Code Online (Sandbox Code Playgroud)

.net c# oracle entity-framework

5
推荐指数
0
解决办法
164
查看次数