.NET Core 5执行EF迁移InitialCreate构建失败修复方法
修复方案:EF Core迁移报错CS1061 未找到UseSqlServer方法
报错原因
执行dotnet ef migrations add InitialCreate时提示DbContextOptionsBuilder不包含UseSqlServer定义,核心原因是以下两点:
- 未安装适配.NET 5版本的SQL Server EF Core提供程序包
- 代码文件中缺失对应命名空间的引用
修复步骤
安装匹配版本的NuGet包
进入WebApi.csproj所在的项目根目录,执行以下命令安装适配.NET 5的SQL Server提供程序,注意必须指定5.x版本,6.0及以上版本不兼容.NET 5:dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 5.0.17
如果使用Visual Studio开发,也可以通过NuGet包管理器搜索Microsoft.EntityFrameworkCore.SqlServer,选择5.x系列的最新稳定版安装即可。补全命名空间引用
打开报错的Helpers/DataContext.cs文件,在文件顶部添加以下命名空间引用:using Microsoft.EntityFrameworkCore;UseSqlServer是该命名空间下的扩展方法,缺省该引用时即使安装了依赖包,编译器也无法识别方法。清理重建后重新执行迁移
依次执行以下命令,先确认项目构建无报错再执行迁移操作:dotnet clean dotnet build dotnet ef migrations add InitialCreate
常见踩坑提示:如果安装包时未指定版本,默认会拉取最新正式版,高版本仅适配更新的.NET版本,和.NET 5运行时不兼容,安装后依然会触发相同报错,必须降级到5.x版本。
内容的提问来源于stack exchange,提问作者durim
相关产品推荐
相关产品推荐

