在 ASP.NET MVC 项目中无法使用实体框架连接到 Oracle 数据库
Posted
技术标签:
【中文标题】在 ASP.NET MVC 项目中无法使用实体框架连接到 Oracle 数据库【英文标题】:Cannot connect to Oracle Database with Entity Framework in ASP.NET MVC project 【发布时间】:2017-08-09 09:56:28 【问题描述】:上下文:我正在创建一个 Web 应用程序(在 ASP.NET MVC 4 中),它将提供对现有 Oracle 数据库的访问。我只需要能够从该数据库读取数据,无需插入或更新等。我在 Visual Studio Express 2015 for Web 中工作。
我已经搜索了很多问题的答案,但无济于事。
我的目标是首先使用实体框架数据库创建模型。我已使用 NuGet 将实体框架、Oracle.ManagedDataAccess 和 Oracle.ManagedDataAccess.EntityFramework 添加到我的项目中。 但是,当我尝试将“ADO.NET 实体数据模型”添加到我的模型时,无论是选择“数据库中的 EF 设计器”还是“数据库中的代码优先”,我都会得到以下信息:
我错过了什么?
我发现资源说我需要安装 Oracle Developer Tools for Visual Studio。但是,Visual Studio Express 不支持它,我无法更改我的 IDE。
我没有在这台开发计算机上安装 Oracle 客户端,但我是 sqldeveloper,使用它访问数据库没有问题。我需要安装 Oracle 客户端吗?通过 NuGet 安装的 dll 还不够吗?我问是因为我是实习生,安装任何新软件都需要验证,这需要相当长的时间。
【问题讨论】:
Man oracle db 不是微软的产品之一,所以他们不会把它放在那里,你需要从 nuget 下载连接器然后你才能连接它。 阅读this 谢谢瓦尔基里。但是,我已经阅读了您链接到我的内容,正如我在帖子中所说,我已经使用 NuGet 安装了库,但我无法安装 ODAC,因为 Visual Studio Express 不支持 ODT。因此,我首先提出了这个问题。 【参考方案1】:-
将您的数据库连接到您的项目
在空数据集中插入新项
在该数据集中,将工具箱中的 TableAdapter 插入您的数据集中。
弹出选择表的窗口(你可以写sql来选择需要的表)
在第 4 步之后。您拥有自己的实体。
【讨论】:
【参考方案2】:我有同样的错误,我这样修复:
你需要安装:
带有 .NET Framework 4.5 或更高版本的 Microsoft Visual Studio 2015 或更高版本。
Oracle 数据库 12c 或更高版本。
来自 OTN 的 Oracle 数据访问组件 (ODAC) 12c 第 3 版 (12.1.0.2.1) 或更高版本。 ODAC 下载包括适用于 Visual Studio 和 ODP.NET 的 Oracle 开发人员工具
本教程所需的文件。 使用 NuGet 安装和配置 Oracle Data Provider for .NET 教程。(安装:来自 Nuget 的 Oracle.ManagedDataAccess.EntityFramework)。参考:http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/2015/entityframework_linq_modelfirst/Entity%20Framework%20LINQ%20and%20Model%20First.html#overview
【讨论】:
以上是关于在 ASP.NET MVC 项目中无法使用实体框架连接到 Oracle 数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在我的实体框架和 ASP.NET MVC 项目中重构 connectionString?
似乎无法使用 ASP.NET MVC 和实体框架返回我的模型
带有实体框架的 ASP.NET MVC Core 项目中的种子角色
ASP.NET MVC 5 实体框架替代方案或在运行时指定架构的能力?
带有实体框架和 SQL Server 数据库的 ASP.NET MVC - 图像未显示在视图中......错误显示“无法将“字节”转换为“字符串”