c# - 上下文未正确注入
问题描述
不知道为什么我会收到以下错误。
InvalidOperationException:尝试激活“RoundTableWeb.WMS.Controllers.StockController”时无法解析“AppManagerDL.AppManagerDBContext”类型的服务。
public class StockController : ControllerBase {
// GET: api/<StocksController>
private readonly AppManagerDBContext _context;
public StockController(AppManagerDBContext context) {
_context = context;
}
如您所见,我在此处获取 ApplicaitonDBContext 并将其设置为连接字符串。
当我点击我的 get 语句时,它没有注册,di 最终为空。
[HttpGet]
public object Get(DataSourceLoadOptions loadOptions) {
Guid.TryParse("8F553A64-4301-4051-8691-8EBEFF68969D", out Guid result);
var test = _context.Stockitems.Where(w => w.TennantId == result).ToList();
return test;
}
以上是它在_context上刹车。
public void ConfigureServices(IServiceCollection services) {
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(options =>
options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddControllersWithViews().AddJsonOptions(options =>
options.JsonSerializerOptions.PropertyNamingPolicy = null);
services.AddRazorPages();
}
但
解决方案
您ApplicationDbContext
在启动时配置:
services.AddDbContext<ApplicationDbContext>(options => ...
但注入AppManagerDBContext
控制器:
public StockController(AppManagerDBContext context) { ...
它们必须相同。
推荐阅读
- unidata - 没有分页符的 UniQuery LIST
- javascript - 如何通过角度检查空格键键事件?
- animation - three.js:使用骨骼动画获取更新的顶点?
- python - 如何从 HTTP 响应接收 zip 文件
- python - 将与不同值关联的重复条目转换为包含这些值列表的条目?
- c# - 如何使用 ASP.NET Core 下载 png 文件
- continuous-integration - 对于无法打开 GL 库 libGLESv2.so 的 Espresso 测试,CircleCI 启动模拟器步骤失败
- r - 选择从 ggmap 的 revgeocode 返回的地址格式
- javascript - 根据 Adonis.js 中数据库的结果更改 HTML 标记
- bash - 如何删除之间具有特定数字模式的行