gpt4 book ai didi

c# - 无法将 lambda 表达式转换为类型 'ServiceLifetime',因为它不是 Asp.net core 2.2 上的委托(delegate)类型

转载 作者:太空狗 更新时间:2023-10-29 18:28:33 24 4
gpt4 key购买 nike

为什么会出现这个错误:

Cannot convert lambda expression to type 'ServiceLifetime' because it is not a delegate type [TokenAuthWebApiCore.Server]

在这行代码中:

public virtual void SetUpDataBase(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<SecurityContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("SecurityConnection"), sqlOptions => sqlOptions.MigrationsAssembly("TokenAuthWebApiCore.Server")));
}

我是这样用的:

public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(Configuration);

services.AddMvc();

SetUpDataBase(services);

// services.AddDbContext<SecurityContext>(options =>
// options.UseSqlServer(Configuration.GetConnectionString("SecurityConnection"), sqlOptions => sqlOptions.MigrationsAssembly("TokenAuthWebApiCore.Server")));

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}

public virtual void SetUpDataBase(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<SecurityContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("SecurityConnection"), sqlOptions => sqlOptions.MigrationsAssembly("TokenAuthWebApiCore.Server")));
}

这是我所有的using语句

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.IdentityModel.Tokens;
using System.Text;

我在想这可能是因为教程我正在学习不同版本的 .net core 的教程并且我使用的是 .net core 2.2 版。你能告诉我如何解决这个问题吗?谢谢。

最佳答案

我在我的项目中遇到了同样的错误。问题是我的上下文类不是从 DbContext 派生的。

public class SecurityContext : DbContext
{
}

关于c# - 无法将 lambda 表达式转换为类型 'ServiceLifetime',因为它不是 Asp.net core 2.2 上的委托(delegate)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55684726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com