百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

愤怒的TryCatch

lipiwang 2025-03-12 16:34 5 浏览 0 评论

Entity Framework 6 Database-first连接Oracle11g(图文细说)

目前Oracle已经推出了托管的ODP.NET驱动来连接Oracle数据库。已经支持Code First,那么到目前位置,EF的三种模式都是可以操作Oracle数据库的了。

相关文档:

正文:

好吧,我们开始来一个实际的例子。

首先创建一个基于.net 4.5的MVC demo。名字叫做
EntityFrameworkSixForOracle的工程。如下

创建完成后,我们打开Nuget包管理器,安装一些包。

在Nuget包管理器中搜索 ManagedDataAccess

这里先安装第二个,也就是oracle.ManagedDataAccess,然后再安装
oracle.ManagedDataAccess.EntityFramework。

原因是因为安装
oracle.ManagedDataAccess.EntityFramework后自动安装oracle.ManagedDataAccess,但是oracle.ManagedDataAccess的版本较低,好像这两个不同步,导致之后出现未知错误(仅怀疑,未验证)。

然后将Entity Framework更新到最新版。

好的,到这步,引用工作就完成了。接下来配置DataBase-First。

在项目中创建一个文件夹Db,然后添加新项=》数据=》ADO.NET实体数据模型。

点击上面的更改,然后可以看到目前所有的数据源,一般情况下,只有前面的两项,第三项Oracle数据库是没有的。我们需要自行安装Oracle官方提供的驱动程序。

我这里提供官方下载页面,这需要有Oracle的帐号,另外也下载回来测试成功后,将安装包上传到CSDN,大家直接下载安装即可。

下载回来的是一个58.69MB的安装包,默认安装就可以了。

上面Oracle官方说明的截图已经很明白了,这是一个集成于Visual Studio 2015的Oracle驱动工具。另外,官方还提供了VS2013的集成工具。

安装完成后,重启VS,重复上面的步骤,会发现已经有了Oracle数据库 源这一项。好了,问题解决,我们继续。

选择Oracle数据库这一项,出现以下界面:

这里需要说明一下的,当前正在使用的Tnsnames.ora,若是我们配置的监听文件不在上面显示的位置,则点击搜索,去自动查找,选择位置和别名后,点击复制,就可以将自己Tns的相关配置,复制到驱动程序的Tns里面了,再或者,直接用我们自己的Tns文件替换掉默认驱动程序的Tns也是可以的。

以上配置完成后,点击测试,即可测试连接成功。这一步若是有什么不懂的地方,请留言。

弄好之后,确定保存。

然后选择需要导入的表,或者视图。最后单击完成即可。

如此,EF6 Database-First模式连接Oracle11g的实例就完成了 。

添加一个控制器,写一个查询测试一下。

查询前这个表的前100条看看。

好的,数据出来了,成功!

PS:使用oracle.ManagedDataAccess驱动的话,发布的应用不用再在本地安装Oracle客户端。

常见错误汇总(随时更新):

1、在从数据库更新模型的时候,提示模型已生成,但出现警告或错误。

这是因为数据建表不规范,连最基本的主键都没有。

下一章说 EF6 Code-first连接Oracle11g

相关推荐

linux实例之设置时区的方式有哪些

linux系统下的时间管理是一个复杂但精细的功能,而时区又是时间管理非常重要的一个辅助功能。时区解决了本地时间和UTC时间的差异,从而确保了linux系统下时间戳和时间的准确性和一致性。比如文件的时间...

Linux set命令用法(linux cp命令的用法)

Linux中的set命令用于设置或显示系统环境变量。1.设置环境变量:-setVAR=value:设置环境变量VAR的值为value。-exportVAR:将已设置的环境变量VAR导出,使其...

python环境怎么搭建?小白看完就会!简简单单

很多小伙伴安装了python不会搭建环境,看完这个你就会了Python可应用于多平台包括Linux和MacOSX。你可以通过终端窗口输入"python"命令来查看本地是否...

Linux环境下如何设置多个交叉编译工具链?

常见的Linux操作系统都可以通过包管理器安装交叉编译工具链,比如Ubuntu环境下使用如下命令安装gcc交叉编译器:sudoapt-getinstallgcc-arm-linux-gnueab...

JMeter环境变量配置技巧与注意事项

通过给JMeter配置环境变量,可以快捷的打开JMeter:打开终端。执行jmeter。配置环境变量的方法如下。Mac和Linux系统在~/.bashrc中加如下内容:export...

C/C++|头文件、源文件分开写的源起及作用

1C/C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称...

linux中内部变量,环境变量,用户变量的区别

unixshell的变量分类在Shell中有三种变量:内部变量,环境变量,用户变量。内部变量:系统提供,不用定义,不能修改环境变量:系统提供,不用定义,可以修改,可以利用export将用户变量转为环...

在Linux中输入一行命令后究竟发生了什么?

Linux,这个开源的操作系统巨人,以其强大的命令行界面而闻名。无论你是初学者还是经验丰富的系统管理员,理解在Linux终端输入一条命令并按下回车后发生的事情,都是掌握Linux核心的关键。从表面上看...

Nodejs安装、配置与快速入门(node. js安装)

Nodejs是现代JavaScript语言产生革命性变化的一个主要框架,它使得JavaScript从一门浏览器语言成为可以在服务器端运行、开发各种各样应用的通用语言。在不同的平台下,Nodejs的安装...

Ollama使用指南【超全版】(olaplex使用方法图解)

一、Ollama快速入门Ollama是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用Ollama。官网:https://ollama.comGithub:http...

linux移植(linux移植lvgl)

1uboot移植l移植linux之前需要先移植一个bootlader代码,主要用于启动linux内核,lLinux系统包括u-boot、内核、根文件系统(rootfs)l引导程序的主要作用将...

Linux日常小技巧参数优化(linux参数调优)

Linux系统参数优化可以让系统更加稳定、高效、安全,提高系统的性能和使用体验。下面列出一些常见的Linux系统参数优化示例,包括修改默认配置、网络等多方面。1.修改默认配置1.1修改默认编辑器默...

Linux系统编程—条件变量(linux 条件变量开销)

条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等...

面试题-Linux系统优化进阶学习(linux系统的优化)

一.基础必备优化:1.关闭SElinux2.FirewalldCenetOS7Iptables(C6)安全组(阿里云)3.网络管理服务||NetworkManager|network...

嵌入式Linux开发教程:Linux Shell

本章重点介绍Linux的常用操作和命令。在介绍命令之前,先对Linux的Shell进行了简单介绍,然后按照大多数用户的使用习惯,对各种操作和相关命令进行了分类介绍。对相关命令的介绍都力求通俗易懂,都给...

取消回复欢迎 发表评论: