zoukankan      html  css  js  c++  java
  • 【EFCORE笔记】反向工程与相关工具

    反向工程

    支持工具

    反向工程之前你将需要安装 PMC 工具或 CLI 工具,还需要安装相应数据库提供程序。

    使用工具命令

    Scaffold-DbContext 'Data Source=(localdb)MSSQLLocalDB;Initial Catalog=Chinook'

    Microsoft.EntityFrameworkCore.SqlServer

    dotnet ef dbcontext scaffold "Data Source=(localdb)MSSQLLocalDB;Initial Catalog=Chinook" Microsoft.EntityFrameworkCore.SqlServer

    配置和用户机密

    dotnet user-secrets set ConnectionStrings.test "Data Source=(localdb)MSSQLLocalDB;Initial Catalog=Test" dotnet ef dbcontext scaffold Name=ConnectionStrings.test Microsoft.EntityFrameworkCore.SqlServer

    提供程序名称

    第二个参数是提供程序名称。 提供程序名称通常是与提供程序的 NuGet 包名称相同

    指定表

    默认情况下,数据库中的所有表都被反向工程,您可以通过指定架构和表筛选。

    在PMC 命令中使用 -Schemas 参数,在 CLI 中使用 --schema 参数,可指定架构中的每个表。

    在PMC 命令中使用 -Tables 参数,在 CLI 中使用 --table 参数,可指定特定的表。

    Scaffold-DbContext ... -Tables Artist, Album

    dotnet ef dbcontext scaffold ... --table Artist --table Album

    保留数据库名称

    默认情况下,表和列的名称被更好地生成符合 .NET 命名约定的类和属性,使用 -

    UseDatabaseNames(PMC) --use-database-names(CLI),将尽可能保留原始数据库的表名称和列名称。

    Fluent API 或数据注释

    默认情况,优先使用 Fluent API 配置模型,指定-DataAnnotations(PMC) 或--data- annotations(CLI) 在数据注解可用的情况下,优先使用数据注解配置模型。

    DbContext 名称

    默认情况下,生成 DbContext 的类名为:数据库名称+Context后缀,使用-Context(PMC) 和 --context(CLI) 可自定义名称。

    目录和命名空间

    默认情况,反向工程生成的类和 DbContext 存放在项目根目录,命名空间使用项目默认命名空间,可通过 -OutputDir(PMC) --output-dir(CLI) 指定的目录。命名空间将为根命名空间加上任何项目的根目录下的子目录的名称。

    此外可以使用-ContextDir(PMC) 和--context-dir(CLI) 将 DbContext 类放在独立的目录之下。

    Scaffold-DbContext ... -ContextDir Data -OutputDir Models

    dotnet ef dbcontext scaffold ... --context-dir Data --output-dir Models

    Entity Framework Core tools reference

    来自<https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/>

     

     

  • 相关阅读:
    bzoj 2818 Gcd(欧拉函数 | 莫比乌斯反演)
    bzoj 2186 [Sdoi2008]沙拉公主的困惑(欧拉函数,逆元)
    bzoj 2393 Cirno的完美算数教室(容斥原理+搜索)
    c3p0 连接池配置
    Hibernate连接池断开自动重连
    Oracle ASM注意事项
    JAVA如何获得数据库的字段及字段类型
    在引入的css或者js文件后面加参数的作用
    JAVA注解
    Linux软连接和硬链接
  • 原文地址:https://www.cnblogs.com/lbonet/p/14579975.html
Copyright © 2011-2022 走看看