Asp.net core .Net核心控制器不能与依赖项注入一起工作
我目前正试图从本文中创建一个项目 除了一件事以外,一切都很好 我有一个MoviesController类,它具有带有DbContext参数的构造函数Asp.net core .Net核心控制器不能与依赖项注入一起工作,asp.net-core,asp.net-core-webapi,Asp.net Core,Asp.net Core Webapi,我目前正试图从本文中创建一个项目 除了一件事以外,一切都很好 我有一个MoviesController类,它具有带有DbContext参数的构造函数 public class MoviesController : Controller { private readonly MovieDbContext _context; public MoviesController(MovieDbContext context) { _context = c
public class MoviesController : Controller
{
private readonly MovieDbContext _context;
public MoviesController(MovieDbContext context)
{
_context = context;
}
这是Startup类中的方法,在这里必须解决注入问题
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<MovieDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
// Add framework services
services.AddMvc();
}
您的标题与您描述的错误不同。是否有MovieDbContext类?请将其包含到问题中。错误到底是什么?@rboe我发现问题出在Configuration.GetConnectionString方法中。我将连接字符串保存在appsettings.json中,并试图通过GetConnectionString将其导出。但它返回空值,我不知道为什么。我试图直接指定字符串,只是把“mystring”参数而不是GetConnectionString放进去,结果它成功了。但该方法返回null。看起来类似:
public class MovieDbContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
public MovieDbContext(DbContextOptions<MovieDbContext> options) : base(options)
{ }
}
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=movieDB;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}