Oracle中使用Entity Framework 6.x Code-First方式开发

去年写过一篇EF的简单学习笔记,当时EF还不支持Oracle的Code-First开发模式,今天无意又看了下Oracle官网,发现EF6.X已经支持了,并且给出了二篇教程(英文版):

1.Using NuGet to Install and Configure Oracle Data Provider for .NET

2.Entity Framework Code First and Code First Migrations for Oracle Database

基本上照着做就行了,为了方便不愿意啃英文的朋友,把主要步骤"意译"了下:

环境: Visual Studio 2013 + .Net Framework 4.5.2

1. 使用NuGet安装、配置ODP.NET

a) 参考下图,创建一个Console Application的项目

项目名称随便吧,图中是NuGet

这是主程序入口

b) 打开Solution 视图

项目的References引用节点右击,选择Manage NuGet Packages...

参考下图,搜索Oracle,安装图中的二项:

安装过程中,会弹出License对话框,点击I Accept

安装成功后,这二项应该会自动打上绿勾

安装完成后,会自动打开readme.txt,地球人一般都不看这玩意儿

检查下项目的References,参考下图,应该看到自动添加了4个新的dll引用

再看下App.config

会自动添加以下内容:

下图这二个地方,是用来配置连接字符串的,记得修改

ok, ODP.Net安装配置完成

2.使用Code First模式开发

a) 先参考下图,修改连接字符串(本文用的是HR这个示例用户,大家可以根据实际情况修改)

打开Program.cs这个文件

换成下面这段代码:

 

下面是主要的调用代码,演示了insert记录

下面是实体类的定义,完全是POJO对象,可以借助工具或纯手写.

下面是DbContext部分,相当于DAL层.注意:OnModelCreating,这里表示根据Model创建表时,默认将创建到HR这个Database Schema下

运行结果

打开Server Explorer面板

连接到Oracle

可以看到根据Model定义,自动生成了二张表(注意下表名,自动加了复数)

可以直接查看数据

可以看到,成功插入了2条数据

b) Model与数据库的迁移合并

数据实体模型的类定义,往往随着需求的变化而变化,如果增加或减少了属性,EF可以自动生成相应的db脚本,同步修改表结构

先参考下图,进入PM控制台

输入Enable-Migrations启用数据库迁移功能

然后将Employee的类定义,把原来注释掉的Location属性行,去掉注释(即:增加了Location属性)

回到PM控制台,输入Add-Migration First 生成相应的db修改脚本

最后输入Update-Database更新表结构

打开Server Explorer视图,查看下Employees表

可以发现,已经增加了新字段Location

Oracle中使用Entity Framework 6.x Code-First的更多相关文章

  1. 在Oracle中使用Entity Framework 6 CodeFirst

    项目中需要将系统从SQLServer数据库迁移到Oracle上.由于原大部分数据访问操作都是通过包装了Entity Framework的统一访问入口实现的,所以需要研究Entity Framework ...

  2. Oracle中使用Entity Framework 6.x Code-First方式开发

    去年写过一篇EF的简单学习笔记,当时EF还不支持Oracle的Code-First开发模式,今天无意又看了下Oracle官网,发现EF6.X已经支持了,并且给出了二篇教程(英文版): 1.Using ...

  3. 如何使用ASP.NET Web API OData在Oracle中使用Entity Framework 6.x Code-First方式开发 OData V4 Service

    环境: Visual Studio 2013 + .Net Framework 4.5.2 1.新建项目 2.安装OData,ODP.NET 安装的包: 下面是部分代码: using System; ...

  4. Entity Framework 6.x Code Frist For Oracle 实践与注意点

    Entity Framework 6.x Code Frist For Oracle 实践与注意点 开发环境 Visual Studio.net 2015/2017 Oracle 11g/12c 数据 ...

  5. 如何在ASP.NET Core中应用Entity Framework

    注:本文提到的代码示例下载地址> How to using Entity Framework DB first in ASP.NET Core 如何在ASP.NET Core中应用Entity ...

  6. Oracle官方版Entity Framework

    千呼萬喚始出來! Oracle官方版Entity Framework問市,邁入開發新時代 自從我得了一種"不用LINQ就不會寫資料庫程式"的病,為了滿足工作上要搭配Oracle(雖 ...

  7. Entity Framework工具POCO Code First Generator的使用

    在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一 ...

  8. Entity Framework工具POCO Code First Generator的使用(参考链接:https://github.com/sjh37/EntityFramework-Reverse-POCO-Code-First-Generator)

    在使用Entity Framework过程中,有时需要借助工具生成Code First的代码,而Entity Framework Reverse POCO Code First Generator是一 ...

  9. dotnet ef执行报错, VS 2019发布时配置项中的Entity Framework迁移项显示不出来

    VS 2019发布时配置项中的Entity Framework迁移项显示不出来 dotnet ef dbcontext list --json “无法执行,因为找不到指定的命令或文件.可能的原因包括: ...

随机推荐

  1. Codeforces554D:Kyoya and Permutation

    Let's define the permutation of length n as an array p = [p1, p2, ..., pn] consisting of n distinct ...

  2. strategy pattern

  3. hdu1052 Tian Ji -- The Horse Racing 馋

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:pid=1052">http://acm.hdu.edu.cn/showproblem.php ...

  4. WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放、播放、暂停、可拖动播放进度效果实现

    原文:WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放.播放.暂停.可拖动播放进度效果实现 去年某客户单位要做个大屏触屏应用,要对档案资源进行展示之用.客户端是Window7操作系统,5 ...

  5. cnBlog 的windows live writer 客户端配置

    重装系统后总是忘,备个档 CNBLOG 博客名 cnblog 日志帐户 http://www.cnblogs.com/liulaocai2/ 用户:359444066 密码:同QQ密码,比QQ少一位 ...

  6. SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别

    SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别: IN:确定给定的值是否与子查询或列表中的值相匹配. IN 关键字使您得以选择与列表中的任意一个值匹配的行. 当要获得居住在 ...

  7. iOS 中client和server的 Web Service 网络通信 (2)

    在实际的应用开发过程中,同步请求的用户体验并非非常好:我们都知道.Apple是非常重视用户体验的.这一点也成为了行业的标杆,没实用户哪里来的好产品.所以用户体验是极其重要的.貌似废话有点多.接下来进入 ...

  8. iOS编程之前

    iOS编程之前 更新:帖子已经重新被更新过,以便能更好的兼容Xcode 5和iOS 7.       至今为止,已经超过6000位读者加入了这个iOS免费教程.首先,我要感谢这些加入我们社区的朋友.在 ...

  9. scrot-0.8

    相关库下载地址:         www.sunfreeware.com/programlistsparc10.html tar -zxvf scrot-0.8.tar.gzcd scrot-0.8. ...

  10. QrcodeWithLogo

    package com.qrcode; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import ...