反向生成实体类

 https://www.cnblogs.com/cn-star/p/12021067.html

 

不管是哪种数据库都需要安装

Microsoft.EntityFrameworkCore.Tools
-用来可以在命令行使用以下几种指令

Add-Migration
Drop-Database
Get-DbContext
Scaffold-DbContext
Script-Migrations
Update-Database


如果服务找到dotnet ef 命令请执行
dotnet tool install --global dotnet-ef --version 3.0.0-*
dotnet tool update --global dotnet-ef --version 3.0.0-*
dotnet tool remove--global dotnet-ef --version 3.0.0-*
dotnet tool uninstall dotnet-ef -g
dotnet tool list

 

https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-tool-install?view=netframework-1.1


局部创建
dotnet new tool-manifest  会在本地创建一个\.config\dotnet-tools.json 文件

dotnet tool install dotnet-ef 会得到本地的版本

 

 


一、mysql反向生成指令
dotnet ef dbcontext scaffold  "server=127.0.0.1;userid=root;pwd=xxxx;port=3306;database=meng;" Pomelo.EntityFrameworkCore.MySql

 帮助

dotnet ef dbcontext scaffold -h

中文 

<CONNECTION>数据库的连接字符串。

<PROVIDER>要使用的提供程序。(例如。Microsoft.EntityFrameworkCore.SqlServer)

选项:

-d |——数据注释使用属性来配置模型(如果可能)。如果省略,则只使用fluent API。

-c |——context<NAME>DbContext的名称。

--context dir<PATH>放置DbContext文件的目录。路径是相对于项目目录的。

-f |——强制覆盖现有文件。

-o |——output dir<PATH>要放入文件的目录。路径是相对于项目目录的。

--模式<schema\u NAME>。。。要为其生成实体类型的表的架构。

-t |——表格<表格名称>。。。要为其生成实体类型的表。

--使用数据库名称直接从数据库中使用表名和列名。

--json显示json输出。

-p |——project<project>要使用的项目。

-启动项目<project>要使用的启动项目。

--framework<framework>目标框架。

--配置<配置>要使用的配置。

--runtime<runtime_IDENTIFIER>要使用的运行时。

--msbuildprojectextensionspath<PATH>MSBuild项目扩展路径。默认为“obj”。

--不生成不生成项目。仅当生成是最新的时才使用此选项。

-h |--help显示帮助信息

-v |——verbose显示详细输出。

--无颜色不给输出着色。

--使用级别前缀output prefix output。

 

生成到指定文件夹

dotnet ef dbcontext scaffold  "server=127.0.0.1;userid=root;pwd=xxxx;port=3306;database=meng;" Pomelo.EntityFrameworkCore.MySql -o Models

 

更新 加 -f 强制覆盖文件

dotnet ef dbcontext scaffold  "server=127.0.0.1;userid=root;pwd=xxxx;port=3306;database=meng;" Pomelo.EntityFrameworkCore.MySql -o Models -f

 

二、Oracle

导入包
ef.tools

oracle.efcore

 

-f 强制覆盖,-o model路径 , -c context类名 ,   --context-dir <path>  指令dbcontext的路径 ,-v 显示执行详情

.net 5.0开始 可以命名类的命名空间 和context的命名空间

--namespace Your.Namespace --context-namespace Your.DbContext.Namespace

 

安装工具

 dotnet tool install -g dotnet-ef  --version 3.0.0-*

生成文件

dotnet ef dbcontext scaffold "User Id=XX;Password=XXX;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));"Oracle.EntityFrameworkCore -f -o Models

 子文件夹 aa/a

dotnet ef dbcontext scaffold "User Id=XXX;Password=XXX;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521)) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));"Oracle.EntityFrameworkCore -f -o DbContextModels\PMS1

posted @ 2020-07-25 14:07  富坚老贼  阅读(289)  评论(0编辑  收藏  举报