我正在尝试设置我的项目,但我总是一直收到此错误:
无法将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;
,但仍然遇到相同的错误!
答案 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){
}
}