You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

定义OnConfiguring()在分部类时无法执行dotnet ef migrations add init

解决步骤

1. 校验分部类命名空间与原DbContext一致

打开ContosoUniversityContext.cs和新建的分部类文件,确保两者的命名空间完全匹配。只有命名空间相同的分部类才会被编译器合并为同一个类,否则新增的无参构造和配置方法不会生效。

2. 确认分部类的partial关键字正确添加

分部类的定义必须包含partial关键字,示例代码如下:

namespace ContosoUniversity.Data;

public partial class ContosoUniversityContext : DbContext
{
    public ContosoUniversityContext()
    {
    }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            optionsBuilder.UseSqlServer("替换为你的SQL Server连接字符串");
        }
    }
}

3. 检查OnConfiguring方法的数据库配置

确保OnConfiguring方法中调用了UseSqlServer并传入有效的连接字符串。如果连接字符串配置错误或缺失,EF Core依然无法初始化DbContext实例。

4. 显式指定DbContext执行迁移

如果以上步骤都验证无误,可尝试在迁移命令中显式指定DbContext类:

dotnet ef migrations add init --context ContosoUniversityContext

5. 清理项目缓存并重新生成

项目编译缓存可能导致分部类未被正确合并,执行以下命令清理后重新生成:

dotnet clean
dotnet build

内容的提问来源于stack exchange,提问作者Will Huang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:41:18