将实体框架添加到 Azure 函数:尝试激活“Function1”时无法解析“DBContext”类型的服务

问题描述 投票:0回答:0

我正在尝试将实体框架添加到 Azure Function 项目 (.NET 6.0)。

当前,当我运行函数时出现错误

“Microsoft.Extensions.DependencyInjection.Abstractions:在尝试激活‘Function1’时无法解析类型‘FDBContext’的服务”

套餐:

Microsoft.Azure.Functions.Extensions v1.1.0
Microsoft.EntityFrameworkCore.Relational v7.0.5
Microsoft.EntityFrameworkCore.SqlServer v7.0.5
System.Data.SqlClient  v4.8.5

Startup.cs

class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services.AddDbContext<FDBContext>(options =>
        {
            options.UseSqlServer("<Working connection string>");
        });
        builder.Services.AddOptions();
    }
}

FDBContext.cs

public class FDBContext : DbContext
    {
        public FDBContext(DbContextOptions<FDBContext> context) : base(context)
        {  }
    
        public DbSet<DBData> DBDatas { get; set; }
    }

Function1.cs

public class Function1
{
        private readonly FDBContext _context;
        public Function1(FDBContext context)
        {
            _context = context;
        }

        [FunctionName("Function1")]
        public async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req)
        {
            var test = _context.DBDatas.ToList();
        }
}

错误:

[2023-05-15T19:33:34.607Z] Host lock lease acquired by instance ID '0000000000000000000000008A575D25'.
[2023-05-15T19:33:44.495Z] Executing HTTP request: {
[2023-05-15T19:33:44.497Z]   requestId: "53766d70-997b-4fda-a58b-bdae741fd544",
[2023-05-15T19:33:44.498Z]   method: "POST",
[2023-05-15T19:33:44.499Z]   userAgent: "PostmanRuntime/7.26.8",
[2023-05-15T19:33:44.500Z]   uri: "/api/Function1"
[2023-05-15T19:33:44.501Z] }
[2023-05-15T19:33:44.808Z] Executed 'Function1' (Failed, Id=9181b193-7127-4484-80b3-8ec98d77066e, Duration=39ms)
[2023-05-15T19:33:44.809Z] Microsoft.Extensions.DependencyInjection.Abstractions: Unable to resolve service for type 'FiedlDeviceFunctionApp2.FDBContext' while attempting to activate 'FunctionApp2.Function1'.
[2023-05-15T19:33:44.816Z] An unhandled host error has occurred.
[2023-05-15T19:33:44.817Z] Microsoft.Extensions.DependencyInjection.Abstractions: Unable to resolve service for type 'FiedlDeviceFunctionApp2.FDBContext' while attempting to activate 'FunctionApp2.Function1'.
[2023-05-15T19:33:44.822Z] Executed HTTP request: {
[2023-05-15T19:33:44.823Z]   requestId: "53766d70-997b-4fda-a58b-bdae741fd544",
[2023-05-15T19:33:44.823Z]   identities: "(WebJobsAuthLevel:Admin)",
[2023-05-15T19:33:44.825Z]   status: "500",
[2023-05-15T19:33:44.826Z]   duration: "325"
[2023-05-15T19:33:44.830Z] }
c# entity-framework azure-functions
© www.soinside.com 2019 - 2024. All rights reserved.