如何不依赖其他项目添加Entity Framework Core迁移
EF Core 独立类库项目添加首次迁移操作指南
前置依赖
- 你的数据层类库项目需提前安装3个NuGet包:
- 核心包:
Microsoft.EntityFrameworkCore - 设计时工具包:
Microsoft.EntityFrameworkCore.Design - 对应数据库的驱动包,例如SQL Server对应
Microsoft.EntityFrameworkCore.SqlServer、MySQL对应Pomelo.EntityFrameworkCore.MySql
- 核心包:
执行迁移命令
所有配置通过命令参数传入,无需修改项目类型、无需在其他项目添加任何配置。
.NET CLI 通用命令(跨平台适用)
dotnet ef migrations add 你的迁移名称 \ --project 你的数据层类库项目路径/项目名.csproj \ --startup-project 你的数据层类库项目路径/项目名.csproj \ --context 你的DbContext全限定类名 \ --provider 数据库提供器完整名称 \ --connection "你的数据库连接字符串"
参数说明:
--project:指定迁移文件要存储的目标项目,即你当前的数据层类库项目--startup-project:直接指定为同一个数据层类库项目,无需额外的可执行项目作为启动项目--context:指定生成迁移对应的DbContext类,例如MyApp.Data.AppDbContext--provider:明确指定数据库提供器,例如SQL Server对应Microsoft.EntityFrameworkCore.SqlServer--connection:直接传入数据库连接字符串,不需要在项目的配置文件中编写配置
Visual Studio 包管理器控制台(PMC)命令
Add-Migration 你的迁移名称 ` -Project 你的数据层类库项目名 ` -StartupProject 你的数据层类库项目名 ` -Context 你的DbContext全限定类名 ` -Provider 数据库提供器完整名称 ` -Connection "你的数据库连接字符串"
后续操作说明
- 执行命令后,迁移文件会自动生成在数据层项目的
Migrations目录下 - 后续执行更新数据库、删除迁移等操作,都可以复用上述参数完成,无需调整项目属性
内容的提问来源于stack exchange,提问作者Mohammad Aghazadeh
相关产品推荐
相关产品推荐

