最新的.NET数据提供程序(11.2.0.3.20)打破了EF更新向导

bfl*_*ow1 2 .net oracle entity-framework odp.net visual-studio-2012

我在VS7上安装了VS2012和最新的32位版本的ODAC(带有Oracle Developer Tools的第5 版).一切都是干净的安装.在这种环境中,我有一个ASP.NET Web Forms解决方案,最初是在VS2010中开发的,其EDMX文件是在32位ODAC Release 4上构建的.

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

在此输入图像描述

以下是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>"
Run Code Online (Sandbox Code Playgroud)

但是,在我的其他Win7盒子上,我已经安装了VS2010,EF 4.1以及之前的32位版本的ODAC(版本4)和完全相同的ASP.NET解决方案,但我没有使用更新向导的问题.

在此输入图像描述

以下是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>"
Run Code Online (Sandbox Code Playgroud)

其他相关信息:

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.

bfl*_*ow1 8

在Oracle论坛中找到的这种解决方法帮助了我.(请参阅12月19日由user9948241发布的帖子.) Oracle有一个新的论坛页面,上面提到的帖子显然没有进入新的论坛.

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

更新:下面显示的是向导中的"过滤器"选项卡,用于从Visual Studio Server Explorer添加(或修改)数据连接.

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

在此输入图像描述

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

  • 这应该是粗体**你必须包括默认架构以及你想要的任何架构** (4认同)
  • 太棒了,谢谢.这是2017年,这个"错误"仍然存在.几个小时我的头. (2认同)