不知道为什么我得到以下错误。
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最终为null。
[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) { ...
它们必须相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句