ASP.NET Core 2.1无法识别配置扩展

时间:2019-05-09 05:36:04

标签: c# asp.net-core

我正在尝试设置我的项目,但我总是一直收到此错误:

  

无法将lambda转换为“ ServiceLifetime”类型,因为它不是   委托类型。

在我的启动课程中,我做了:

public Startup(IConfiguration configuration)
{
     Configuration = configuration;
}

public IConfiguration Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
     services.AddDbContext<ServiceProvider>(options => options.UseSqlServer(Configuration.GetConnectionString("ConnectionStrings")));
}

我什至尝试安装软件包Microsoft.Extensions.Configuration;,但仍然遇到相同的错误!

2 个答案:

答案 0 :(得分:3)

问题是您使用ids = set( [int(id) for id in '350882 348521 350166\r\n'.strip().split(' ')] ) # Adding an ID already in the set has no effect ids.add(348521) 作为ids = [int(id) for id in '350882 348521 350166\r\n'.strip().split(' ')] if 348521 not in ids: ... 中的ServiceProvider。如下将DbContextType替换为services.AddDbContext<TContext>

services.AddDbContext<ServiceProvider>

答案 1 :(得分:2)

您正在传递ServiceProvider而不是DbContext类型的类。添加一个从DbContext派生的新类。所以在这里您需要创建一个像这样的类:

axes

和启动类中的

public class ApplicationDbContext: DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options):base(options){
}
}