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;
|
2021-11-30 10:32:16 +00:00
|
|
|
|
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);
|
2021-11-30 10:32:16 +00:00
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|