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

时间:2012-12-06 21:42:36

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

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

我可以使用服务器资源管理器设置与数据库的连接并查看表,但我现在无法通过更新向导修改我的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解决方案,但是我对Update Wizard没有任何问题。

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。

1 个答案:

答案 0 :(得分:8)

在Oracle论坛中找到的

This workaround帮助了我。 (请参阅12月19日的帖子 user9948241 。) Oracle有一个新的论坛页面,上面提到的帖子显然没有进入新的论坛。

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

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

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

enter image description here

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