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/>

     

     

  • 相关阅读:
    CC++ 文件操作
    loadrunner之Paramater在负载测试中的数据生成规则
    loadrunner关联及web_reg_save_param方法浅析
    mysql union 与 union all 语法及用法
    sql 语句中as的用法和作用
    数据库主从复制和读写分离
    《剑指offer》算法题第十二天
    《剑指offer》算法题第十一天
    《剑指offer》算法题第十天
    《剑指offer》算法题第九天
  • 原文地址:https://www.cnblogs.com/lbonet/p/14579975.html
Copyright © 2011-2022 走看看