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

使用Scaffold生成控制器后,激活ClubController时无法解析SchuttersContext服务

解决 "Unable to resolve service for type 'Schutters.Models.SchuttersContext'" 错误

嘿,这个问题我之前也碰到过!本质就是ASP.NET Core的依赖注入(DI)容器找不到你要的SchuttersContext服务——你用Scaffold生成的ClubController构造函数明确要求注入这个上下文,但你的Startup类里只注册了ApplicationDbContext,两者匹配不上,自然就报错了。

下面是具体的解决步骤:

1. 在Startup中注册SchuttersContext

打开你的Startup.cs,找到ConfigureServices方法,添加一行注册SchuttersContext的代码。如果SchuttersContext和ApplicationDbContext使用同一个数据库连接字符串,直接复用SchuttersConnection就好:

services.AddDbContext<SchuttersContext>(options => 
    options.UseSqlServer(Configuration.GetConnectionString("SchuttersConnection")));

修改后的完整ConfigureServices方法应该是这样:

public void ConfigureServices(IServiceCollection services) {
    // 保留原有的ApplicationDbContext注册
    services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(
        Configuration.GetConnectionString("SchuttersConnection")));
    // 新增:注册SchuttersContext到DI容器
    services.AddDbContext<SchuttersContext>(options => 
        options.UseSqlServer(Configuration.GetConnectionString("SchuttersConnection")));
    
    services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
        .AddEntityFrameworkStores<ApplicationDbContext>();
    services.AddControllersWithViews();
    services.AddRazorPages();
}

2. 确认SchuttersContext的定义没问题

顺便检查下你的SchuttersContext类是否正确继承了DbContext,并且配置了对应的实体集合,比如:

using Microsoft.EntityFrameworkCore;
using Schutters.Models;

namespace Schutters.Models {
    public class SchuttersContext : DbContext {
        public SchuttersContext(DbContextOptions<SchuttersContext> options) : base(options) { }

        // 这里要包含你Scaffold生成的实体,比如Clubs
        public DbSet<Club> Clubs { get; set; }
    }
}

做完这两步,重启应用再点击导航栏的“Clubs”选项,应该就能正常加载Index视图了——DI容器现在知道该怎么创建SchuttersContext实例并注入到ClubController里了。

内容的提问来源于stack exchange,提问作者Neal Wicke

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 11:07:28