EF Core .NET 命令行工具集

    使用以下步骤可以安装 EF Core .NET 命令行工具集:

    1. 编辑项目文件,将 Microsoft.EntityFrameworkCore.Tools.DotNet 作为 DotNetCliToolReference 项目添加到其中(如下所示)。

    2. 在命令提示符下运行以下命令。

    最终的项目文件看起来应该是这样的:

    正常情况下,应该能够在命令提示符下成功运行以下命令了。

    任何时候只要调用命令,都会牵涉到两个项目:

    启动项目是执行项目代码时由工具模拟的,同样,默认情况下启动项目也是当前目录下的项目,但是可以使用 -startup-project 参数来临时指定另一个项目。

    通用的参数:

    删除数据库。

    选项:

    -f --force 跳过确认
    --dry-run 显式将要删除的数据库,但还不会删除它

    dotnet ef database update

    将数据库更新到指定的迁移。

    参数:

    <MIGRATION> 更新到的迁移。0 表示将遍历所有迁移。默认为最近一个迁移。

    dotnet ef dbcontext info

    获取 DbContext 类型的信息。

    列出可用的 DbContext 类型。

    dotnet ef dbcontext scaffold

    参数:

    选项:

    -d --data-annotations 生成的模型尽可能使用特性(数据注解)配置。缺省时仅生成流式 API 配置代码。
    -c --context <NAME> 生成 DbContext 的名称。
    -f --force 覆盖已有的文件。
    -o 放置基架文件的目录。路径是相对于项目目录的。
    --schema <SCHEMA_NAME> ... 仅生成指定数据库模式中的表对应的实体类型。
    -t --table <TABLE_NAME> ... 仅生成指定数据表对应的实体类型。
    --use-database-names 直接使用数据库中的表名和列名生成相关名称。

    dotnet ef migrations add

    添加新的迁移。

    参数:

    <NAME> 迁移的名称

    选项:

    列出可用的迁移。

    dotnet ef migrations remove

    移除最近一个迁移。

    选项:

    -f --force 移除迁移前通常需要验证其是否已经应用到了数据库。使用该参数可跳过验证。

    dotnet ef migrations script

    根据迁移(段)生成 SQL 脚本

    参数:

    <FROM> 起始迁移。默认是 0(初始化数据库)。
    TO 结束迁移。默认是最近一个迁移。