.net - 最新的 Oracle Data Provider for .NET (11.2.0.3.20) 破坏了 EF 更新向导

标签 .net oracle entity-framework visual-studio-2012 odp.net

我有 VS2012 和 latest 32-bit version of ODAC (带有 Oracle Developer Tools 的版本 5)安装在 Win7 机器上。一切都是全新安装。在此环境中,我有一个 ASP.NET Web 窗体解决方案,该解决方案最初是在 VS2010 中使用基于 32 位 ODAC 第 4 版构建的 EDMX 文件开发的。

我可以使用服务器资源管理器设置与数据库的连接并查看表,但我现在无法通过更新向导修改我的 EDMX 文件。更新向导中不会显示任何表格。

enter image description here

以下是 VS2012 更新向导第一步中的连接字符串:

metadata=res://*/Models.EventModel.EventModel.csdl|
res://*/Models.EventModel.EventModel.ssdl|
res://*/Models.EventModel.EventModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="data source=<serverid>;
persist security info=True;
user id=<userid>"

但是,在我的另一台 Win7 机器上,我全新安装了 VS2010、EF 4.1 和之前的 32 位版本的 ODAC(第 4 版)以及完全相同的 ASP.NET 解决方案,但我对更新向导没有任何问题。

enter image description here

以下是 VS2010 和 ODAC4 的更新向导连接字符串:

metadata=res://*/Models.EventModel.EventModel.csdl|
res://*/Models.EventModel.EventModel.ssdl|
res://*/Models.EventModel.EventModel.msl;
provider=Oracle.DataAccess.Client;
provider connection string="DATA SOURCE=<serverid>;
PASSWORD=;
PERSIST SECURITY INFO=True";
USER ID=<userid>"

其他相关信息:

1) 我在 VS2012/ODAC5 解决方案中使用 VS2010/ODAC4 解决方案中的 web.config。

2) 我已将 VS2012 解决方案设置为面向 .NET 4.5。

3) 我已确保通过 NuGet 安装 EF5 并且已安装 VS2012 Update 1。

4)我还设置了一个全新安装VS2010和ODAC5的盒子,我遇到了同样的问题。更新向导中没有表。

问题:

是否需要更改任何 web.config 设置或其他设置才能解决此问题?如果是这样,设置是什么?

预先感谢您的帮助。我真的很想开始使用新的 ODAC 和 VS2012。

最佳答案

This workaround在Oracle论坛中发现对我有帮助。 (请参阅 user9948241 于 12 月 19 日发表的帖子。) Oracle 有一个新的论坛页面,上面提到的帖子显然没有出现在新论坛中。

显然,在使用最新 ODAC 的 VS2012 中,当您设置连接筛选条件时您始终必须包含默认架构以及您想要的任何架构

更新:下面显示的是向导中的“筛选器”选项卡,用于从 Visual Studio 服务器资源管理器添加(或修改)数据连接。

仔细观察并注意,在“选择过滤条件”的值字段中,我有两个用逗号分隔的架构值(实际值从屏幕截图中删除)。一个是默认架构值,另一个是我想要的架构。您可以通过单击我用红色标记的省略号来设置这些架构值。

enter image description here

出于某种原因,我不必在 VS2010 中使用以前版本的 ODAC 执行所有这些操作,我删除了默认架构,只添加了我想要的架构。

关于.net - 最新的 Oracle Data Provider for .NET (11.2.0.3.20) 破坏了 EF 更新向导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13753139/

相关文章:

c# - 在 ReflectionOnlyLoad 期间忽略缺失的依赖项

.net - Windows 文件系统中是否有为每个文件预先计算的哈希值?

java - 使用Spring插入大量分层数据

sql - 查找序列中未缺失的列中的上一个数字

c# - 使用 dbcontext 和 projection 进行预加载

c# - Linq ToList() 无法触发立即执行

.net - Windows API代码包: Where is it?

c# - 相关 ICollection 实体不能为空

sql - 从 SQL 中的 SELECT 中选择

c# - 如何在 Entity Framework 中使用 LINQ-to-SQL 回滚事务?