DocSpace-client/common/Tools/AutoMigrationCreator/Utils/EFCoreDesignTimeServices.cs

29 lines
1.1 KiB
C#
Raw Normal View History

2021-10-22 17:04:26 +00:00
using ASC.Core.Common.EF;
2021-10-12 14:51:36 +00:00
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations.Design;
using Microsoft.EntityFrameworkCore.Storage;
2021-10-12 14:51:36 +00:00
using Microsoft.Extensions.DependencyInjection;
namespace AutoMigrationCreator
{
public static class EFCoreDesignTimeServices
{
public static ServiceProvider GetServiceProvider(BaseDbContext context)
{
var serviceCollection = new ServiceCollection();
serviceCollection.AddEntityFrameworkDesignTimeServices();
serviceCollection.AddDbContextDesignTimeServices(context);
serviceCollection.AddSingleton<MigrationsCodeGeneratorDependencies>();
serviceCollection.AddSingleton<AnnotationCodeGeneratorDependencies>();
serviceCollection.AddSingleton<IAnnotationCodeGenerator, AnnotationCodeGenerator>();
serviceCollection.AddSingleton(context.GetService<ITypeMappingSource>());
2021-10-12 14:51:36 +00:00
var designTimeServices = serviceCollection.BuildServiceProvider();
return designTimeServices;
}
}
}