Oracle通过EFcore进行反向工程记录 以及数据操作

在.NET开发当中进行WebAPI开发,由于表已建好,为了快速开发则选择进行DBFirst,则通过EFcore来进行反向工程注入。

1.导入EFCore访问Oracle数据库相关程序包(特别注意版本,稍微不一样就可能影响后续操作)如下:
在这里插入图片描述

2.右键项目->管理NuGet程序包(注意:浏览下搜索【程序包全名】、勾上预发行版、版本、右边点击安装)

3.导完三个程序包,接下来用NuGet程序包管理控制台(工具->NuGet包管理器->程序包管理控制台):
在这里插入图片描述

Scaffold-DbContext "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.128.238)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=EFTEST;Password=EFTEST;" Oracle.EntityFrameworkCore -OutputDir Models

其中Data Source 属性与 Oracle文件夹下的 tnsnames.oRA 所对应的数据库一致

-Schemas 选项可用于包含架构中的每个表,而 -Tables 可用于包含特定表。

Scaffold-DbContext ... -Tables Artist, Album

!!! -Force -f 强制覆盖

-Force  -f  后缀

-Context 输出上下文类名称

-Context  AntContext 

-outputdir 输出模型目录

-outputdir  Models

-Contextdir Data 上下文目录

-Contextdir Data 

-DataAnnotations

-DataAnnotations 生成数据注解

参考文章 如下:
微软官方EFcore反向工程文档:微软官方文档

大佬的 EFcore使用Oracle文档 :EFcore使用文档