📜  dotnet CLI db 脚手架 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:33.595000             🧑  作者: Mango

dotnet CLI db 脚手架 - Shell-Bash

简介

dotnet CLI db 脚手架是一个用于生成数据库代码的命令行工具。通过命令行的方式,可以快速生成数据库相关的代码,如表结构、存储过程、视图、触发器等。

使用dotnet CLI db 脚手架可以让开发者更加方便地管理和维护数据库代码,提高开发效率。

安装

使用dotnet CLI db 脚手架前,需要安装.NET Core运行时环境。安装方式请参考官方文档:https://dotnet.microsoft.com/download

安装完.NET Core后,可以使用以下命令安装dotnet ef工具:

dotnet tool install --global dotnet-ef
使用
创建新的数据库
  1. 创建数据库上下文:
dotnet ef dbcontext scaffold "Server=myserver;Database=mydatabase;User Id=myusername;Password=mypassword;" Microsoft.EntityFrameworkCore.SqlServer -o Models

上面的命令会根据数据库连接字符串创建DbContext类及其相关的实体对象,这些代码文件将会输出到Models文件夹下。

  1. 配置数据库连接字符串

在生成的DbContext类中,需要手动配置数据库连接字符串:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    if (!optionsBuilder.IsConfigured)
    {
        optionsBuilder.UseSqlServer("Server=myserver;Database=mydatabase;User Id=myusername;Password=mypassword;");
    }
}
添加新的实体对象
  1. 创建实体对象
dotnet ef dbcontext scaffold "Server=myserver;Database=mydatabase;User Id=myusername;Password=mypassword;" Microsoft.EntityFrameworkCore.SqlServer -o Models -t Products

上面的命令会根据数据库中Products表的结构,生成一个名为Products的实体对象及其相关的代码文件。

  1. 将实体对象添加到DbContext
public DbSet<Product> Products { get; set; }

DbContext类中添加上面的代码,即可将生成的Product实体对象加入到DbContext中。

更新现有实体对象
  1. 更新实体对象
dotnet ef dbcontext scaffold "Server=myserver;Database=mydatabase;User Id=myusername;Password=mypassword;" Microsoft.EntityFrameworkCore.SqlServer -o Models -t Products -f

上面的命令会覆盖已存在的Product实体对象及其相关的代码文件。

  1. 更新DbContext
public DbSet<Product> Products { get; set; }

DbContext类中手动更新Product实体对象代码。

其他命令
  • dotnet ef migrations add <MigrationName>:创建新的迁移文件。
  • dotnet ef database update:将迁移文件应用至数据库中。
  • dotnet ef migrations remove:删除最新的迁移文件。
总结

dotnet CLI db 脚手架是一个非常方便实用的命令行工具,可以帮助开发者更加高效地编写数据库相关的代码。使用它,可以快速生成实体对象、数据库上下文、存储过程、视图、触发器等代码,极大地提高了开发效率。