📜  ef core update database 命令 - C# (1)

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

EF Core Update Database 命令

Entity Framework Core (EF Core) 是一个轻量级的、跨平台的 ORM 框架,用于处理 .NET 应用程序中的数据。它可以使用 LINQ 查询或 Fluent API 来执行 CRUD 操作,支持多种数据库引擎,如 SQL Server、MySQL、PostgreSQL 等。

EF Core Update Database 命令可用于创建或更新数据库架构,包括表、列、索引等。在执行此命令之前,需要先在应用程序中定义 DbContext 字类。

执行 Update Database 命令

可以使用 dotnet 命令来执行 EF Core Update Database 命令,如下所示:

dotnet ef database update [--context <context-name>] [--project <project-path>] [--startup-project <project-path>] [--verbose] [--no-color] [--no-build]

其中,--context 选项用于指定 DbContext 类的名称;--project--startup-project 选项用于指定项目和启动项目的路径;--verbose 选项可以输出更详细的日志信息;--no-color 选项可以禁用控制台输出的颜色;--no-build 选项可以禁止自动构建项目。

示例

以下是一个适用于 ASP.NET Core 的示例:

  1. 定义 DbContext 类:
public class MyDbContext : DbContext
{
    public DbSet<Product> Products { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
        => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
}
  1. 配置数据库连接:
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}
  1. 添加 EF Core 工具和 SQL Server 提供程序:
<ItemGroup>
  <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.8">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  </PackageReference>
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.8" />
  <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="5.0.8" />
</ItemGroup>
  1. 在控制台中执行 Update Database 命令:
dotnet ef database update --context MyDbContext
结论

EF Core Update Database 命令可帮助程序员更轻松地管理数据库,对于开发应用程序是非常有用的。建议程序员及时更新数据库架构,以确保应用程序始终与数据库保持同步。