【发布时间】:2021-08-15 11:29:18
【问题描述】:
我目前正在 .NET5 中开发一个 Azure 函数项目。
我的项目结构如下:
- Function.Application
- 函数.域
- Function.Infrastructure
当我尝试生成迁移时,我收到以下错误:
无法创建“上下文”类型的对象。对于不同的 设计时支持的模式,请参阅 https://go.microsoft.com/fwlink/?linkid=851728
这是一些代码:
Function.Application.Program.cs:
public static void Main()
{
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureServices(services =>
{
var localConnectionString = @"Server=(localdb)\mssqllocaldb;Database=information-services-testdb;Integrated Security=True;";
services.AddDomain(localConnectionString);
})
.Build();
host.Run();
}
Function.Domain.Injections:
public static class Injections
{
public static IServiceCollection AddDomain(this IServiceCollection services, string connectionString)
{
services.AddPersistence(connectionString);
return services;
}
}
Function.Infrastructure.Injections:
public static class Injections
{
public static IServiceCollection AddPersistence(this IServiceCollection services, string connectionString)
{
services.AddDbContext<IContext, Context>(
options => options.UseSqlServer(connectionString),
ServiceLifetime.Transient,
ServiceLifetime.Transient);
return services;
}
}
当我开发常规 ASP.NET Core 应用程序时,这种方法效果很好。我只需要选择 Context 所在的项目,然后输入Add-migration dbInit,就可以了。
为什么在使用 Azure Functions 时这不起作用?
【问题讨论】:
标签: c# entity-framework-core azure-functions .net-5