在.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使用文档