我想连接到数据库(Oracle 12c)以生成ADO.NET模型,Code First From Database。我已经安装了ODAC for VS但是仍然没有在实体数据模型向导中连接Oracle DB的选项:
在Server Explorer中有一个Oracle提供程序,但它被声明为已弃用:
我还试图在实体数据模型向导中安装以下4个Nuget软件包,但仍然没有Oracle提供程序:
我怀疑VS2017(社区)没有查看我为其使用的提供商列表安装ODAC的位置,但我无法确定它存储此配置的位置。
我有什么遗失的吗?或者还有其他方法可以使用EF for Oracle吗?例如。回退到VS2015,手动创建实体模型(我该怎么做?)等。
请帮助我,我不想再次在代码中编写纯SQL!感谢。
答案 0 :(得分:3)
我有同样的错误。我通过从Visual 2015添加Oracle数据库来解决这个问题。然后通过Visual 2017打开项目。它完成了。我已经阅读了很多关于此的话题。他们现在说,Oracle尚未支持在实体数据模型向导中连接Oracle数据库,您可以在此处看到: https://community.oracle.com/thread/4024914
答案 1 :(得分:2)
还有一些额外的内容:
这不适用于最新的ODP。 Nuget软件包版本应与ODP版本匹配:
否则,实体数据模型向导将崩溃,而不会在
中留下任何痕迹C:\ Users \ YOURUSER \ AppData \ Roaming \ Microsoft \ VisualStudio
答案 2 :(得分:1)
答案 3 :(得分:0)
我讨厌山姆问题,但在这里找到了解决方案:
不要使用.NET驱动程序。使用ODP.NET驱动程序(托管或非托管)。
http://www.oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html
从Visual Studio中的服务器资源管理器创建新连接,并使用这些图像作为指南:更改数据源,确保选择.NET应用程序将使用的ODP.NET的风格(托管或非托管) - 然后连接到oracle。在Oracle连接对话框中,如果您有连接别名,请选择"连接类型" " TNS"然后从"数据源名称"中选择别名。下拉列表。如果您没有连接别名,则可以选择连接类型" EZ Connect"然后为要连接的数据库提供主机,端口和服务名称。
最诚挚的问候,Par
答案 4 :(得分:0)
我面临着同样的问题。首先确保您为Visual Studio 2017安装了odac 只需点击此链接,然后按照以下步骤操作即可: https://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownloadvs2017-3806459.html 卸载以前的odac版本。 希望从链接安装后,您将获得所有东西。