gpt4 book ai didi

entity-framework - Oracle ODAC 12c Release 3 32 位测试版是否支持 EF 6.x?

转载 作者:行者123 更新时间:2023-12-03 23:38:31 26 4
gpt4 key购买 nike

我有 Windows 8.1 64 位和 Visual Studio 2013。我已经安装了最新的 Oracle ODAC 12c 第 3 版 32 位测试版,它声称支持 EF 6。当我将 ADO.NET Entity Framework 添加到我的项目中并且选择我的 Oracle 数据连接,它不允许我选择 Entity Framework 6.0 版本。它选择了 Entity Framework 5.x,版本 6.x 显示为灰色。它说“无法为您的数据连接找到与最新版本的 Entity Framework 兼容的 Entity Framework 数据库提供程序”。这是为什么?

最佳答案

我做了以下使其工作:-

首先安装 ODAC 12c 第 3 版,其中包括对 Entity Framework 6 Code First 和 Code First 迁移的支持; NuGet、.NET Framework 4.5.2;和 ODP.NET,托管驱动程序 XML DB。按照

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

将两个引用添加到我的项目引用中,它们是:

Oracle.ManagedDataAccess.dll

Oracle.ManagedDataAccess.EntityFramework.dll

使用NuGet安装EF6.1.1,在Package Manager Console中运行如下命令(可以通过Tools->NuGet Package Manager -> Package Manager Console进入):

Install-Package EntityFramework -Version 6.1.1

并修改您的 web.config 或 web.config 以使用 Oracle.ManagedDataAccess ,通过添加 Provider 和有效的连接字符串,例如:

 <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" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<contexts>
<context type="App.Context.Default, App.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.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="Default" providerName="Oracle.ManagedDataAccess.Client" connectionString="DATA SOURCE=XE;USER ID=User" />
</connectionStrings>

将您的应用程序重建为 x86,并开始使用 EF6,您可以通过使用 Code First 使用 ADO.Net 实体模型添加模型来检查它是否有效

关于entity-framework - Oracle ODAC 12c Release 3 32 位测试版是否支持 EF 6.x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26661589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com