C# 在Azure功能中添加对实体框架的支持
我的Azure功能中有以下项目结构:C# 在Azure功能中添加对实体框架的支持,c#,azure,.net-core,azure-functions,C#,Azure,.net Core,Azure Functions,我的Azure功能中有以下项目结构: 应用程序.功能 应用程序域 应用程序.基础设施 这个很好用。所有依赖项都已解决,没有任何错误 但是,当我在我的基础架构层中设置Entity Framework,并尝试运行该应用程序时,出现以下错误: 找不到webjobsbuilderextensions.cs 当我删除所有与实体框架相关的内容并尝试运行应用程序时,它会再次工作 在myStartup.cs中,我有以下代码段: builder.Services.AddDomain(connectionStr
- 应用程序.功能
- 应用程序域
- 应用程序.基础设施
基础架构
层中设置Entity Framework,并尝试运行该应用程序时,出现以下错误:
找不到webjobsbuilderextensions.cs
当我删除所有与实体框架相关的内容并尝试运行应用程序时,它会再次工作
在myStartup.cs
中,我有以下代码段:
builder.Services.AddDomain(connectionString);
Application.Domain.Injections:
public static class Injections
{
public static IServiceCollection AddDomain(this IServiceCollection services, string connectionString)
{
services.AddTransient<ISalesItemService, SalesItemService>();
services.AddPersistence(connectionString)
return services;
}
}
public static class Injections
{
public static IServiceCollection AddPersistence(this IServiceCollection services, string connectionString)
{
services.AddTransient<ISalesItemDataService, SalesItemDataService>();
services.AddDbContext<IOnePlmSubContext, OnePlmSubContext>(
options => options.UseSqlServer(connectionString),
ServiceLifetime.Transient,
ServiceLifetime.Transient);
return services;
}
}
公共静态类注入
{
公共静态IServiceCollection AddDomain(此IServiceCollection服务,字符串连接字符串)
{
services.AddTransient();
services.AddPersistence(connectionString)
返回服务;
}
}
Application.Infrastructure.Injections:
public static class Injections
{
public static IServiceCollection AddDomain(this IServiceCollection services, string connectionString)
{
services.AddTransient<ISalesItemService, SalesItemService>();
services.AddPersistence(connectionString)
return services;
}
}
public static class Injections
{
public static IServiceCollection AddPersistence(this IServiceCollection services, string connectionString)
{
services.AddTransient<ISalesItemDataService, SalesItemDataService>();
services.AddDbContext<IOnePlmSubContext, OnePlmSubContext>(
options => options.UseSqlServer(connectionString),
ServiceLifetime.Transient,
ServiceLifetime.Transient);
return services;
}
}
公共静态类注入
{
公共静态IServiceCollection AddPersistence(此IServiceCollection服务,字符串连接字符串)
{
services.AddTransient();
services.AddDbContext(
options=>options.UseSqlServer(connectionString),
服务寿命。暂时的,
服务寿命(瞬时);
返回服务;
}
}
有没有其他人经历过与我相同的问题?在使用Azure功能时,我不能使用这种分层结构吗?总结评论供其他社区参考:
只需将EF Core的版本降级到3.1并重新构建函数,然后重新恢复函数,就可以了。您使用的是什么版本的EF和.net Core?@auburg:Im使用的是5.0.6版本的EF和.net Core 3.1Try,将EF Core的版本降级到3.1并重新构建和重新测试函数。@Andrewhall:这很有效。