【发布时间】:2015-02-23 17:30:55
【问题描述】:
我正在尝试使用适用于 Oracle Database 的 Entity Framework 6 构建 MVC 5 Web 应用程序,我正在尝试使用 ODAC 12c Release 3,其中包括对 Entity Framework 6 Code First 和 Code First 迁移的支持; NuGet,.NET 框架 4.5.2;和 ODP.NET,托管驱动程序 XML DB。根据
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html
我有 VS 2013 社区版更新 4 。
我正在尝试使用 ADO.Net 实体数据模型添加模型,代码优先。
我在我的 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>
我还添加了 Oracle.ManagedDataAccess 版本 4.121.2.0 作为参考并重建解决方案。
我现在尝试使用 ADO.Net 实体数据模型添加模型,代码优先。但在向导的最后一个屏幕中收到以下消息:
您的项目引用了最新版本的实体框架;但是,无法为您的连接找到与此版本兼容的实体框架数据库提供程序...
如何正确配置我的应用程序,以便能够首先使用 ODAC 和 EF6 代码?
【问题讨论】:
-
我遇到了同样的问题,然后发现了这个 (oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/…),他们说:从 Visual Studio 菜单中选择 Build > Rebuild Solution,这将允许该项目开始使用 Entity Framework 6。这解决了我的问题...
标签: .net oracle entity-framework ado.net-entity-data-model odac