当前位置: 首页 > 工具软件 > Beerus-DB > 使用案例 >

NetCore-EFCore-DBfirst-同步数据库生成Model

杜成和
2023-12-01

1.首先,说一下EFCore使用DBfist的基础语法 。

dotnet ef dbcontext scaffold "Server=数据库连接地址;Database=数据库名

称;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer 后续参数......

2.语法中的后续参数说明如下表。

 

简写指令说明
-d--data-annotations该参数用于将模型配置,如果省略此选项,则使用仅 fluent API。
-c--context <NAME>该参数指定DbContext类生成的名称
 --context-dir <PATH>该参数指定DbContext中的类文件, 路径是相对于项目目录,命名空间派生自文件夹名称
-f--force该参数用于覆盖现有文件
-o--output-dir <PATH该参数指定要将实体类文件放入的目录, 路径是相对于项目目录
 --schema <SCHEMA_NAME>...该参数指定要生成的实体类型的表架构。 若要指定多个架构,请重复--schema为每个。 如果省略此选项,则包括所有架构
-t--table <TABLE_NAME>该参数指定要生成的实体类型的表。 若要指定多个表,请重复-t或--table为每个。 如果省略此选项,则包括所有表。
 --use-database-names使用表和列名称与数据库中显示的名称完全一样,请使用表和列的名称。 如果省略了此选项,数据库名称将被更改为更接近于C#名称样式约定。

 

3.有些人可能在参数中找不到生成视图(View)的指令,我在开始也很困惑,后来找到了这个问题的解决方法,需要安装aspnet-codegenerator来处理。

dotnet tool install -g dotnet-aspnet-codegenerator  //安装aspnet-codegenerator

dotnet aspnet-codegenerator view --dataContext MyDbContext --model  //生成视图对应的model

以上部分摘自官方文档,详情请参阅传送门:https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/powershell

 

 类似资料: