asp.net使用EFCore创建migration并更新到sqlserver数据库

在 ASP.NET Core 项目中使用 Entity Framework Core (EF Core) 创建迁移(migration)并将其更新到 SQL Server 数据库,你可以按照以下步骤进行操作:

安装 EF Core 和 SQL Server 提供程序

确保你的项目已经安装了 Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools 包。你可以通过 NuGet 包管理器或命令行安装。

在项目目录下运行以下命令:

1
2
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools

创建数据库上下文类

假设你已经创建了一个数据库上下文类 ApplicationDbContext,它继承自 DbContext 类,并且包含数据库表的实体。

例如:

1
2
3
4
5
6
7
8
9
using Microsoft.EntityFrameworkCore;

public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options) { }

public DbSet<Product> Products { get; set; }
}

并且你有一个实体类,例如:

1
2
3
4
5
6
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}

配置数据库连接字符串

appsettings.json 文件中配置 SQL Server 数据库的连接字符串:

1
2
3
4
5
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}

然后,在 Startup.csProgram.cs 文件中配置数据库上下文:

1
2
3
4
5
6
7
8
9
10
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}

// Other configurations...
}

创建迁移

在项目目录下,打开命令行工具并运行以下命令以创建迁移:

1
dotnet ef migrations add InitialCreate

其中 InitialCreate 是迁移的名称,你可以根据需求进行更改。

这个命令会生成一个新的迁移文件,其中包含数据库架构的更改。

更新数据库

运行以下命令以将迁移应用到 SQL Server 数据库:

1
dotnet ef database update

该命令会根据你的迁移文件更新数据库。EF Core 会根据迁移脚本生成 SQL 语句,并将其应用到数据库中。

检查数据库

打开 SQL Server 管理工具(例如 SQL Server Management Studio),连接到数据库实例,并检查数据库是否已创建并包含你指定的表和结构。

其他迁移操作

如果你对模型做了更改(例如新增、删除或更改属性),你可以通过以下命令创建新的迁移:

1
dotnet ef migrations add NewMigrationName

然后再次使用 dotnet ef database update 命令更新数据库。

连接字符串的安全性

建议不要将敏感信息(如数据库连接字符串)直接存储在 appsettings.json 文件中。可以使用 ASP.NET Core 配置系统来安全地存储和加载这些值,例如使用环境变量或 Azure Key Vault。

总结

  1. 安装 EF Core 和 SQL Server 提供程序。
  2. 创建数据库上下文和实体类。
  3. 配置数据库连接字符串。
  4. 使用 dotnet ef migrations add 创建迁移。
  5. 使用 dotnet ef database update 更新数据库。

这些步骤会帮助你使用 EF Core 创建数据库迁移并将其应用到 SQL Server 数据库。