BaseServiceMigrationDbContextFactory.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using Microsoft.EntityFrameworkCore;
  2. using Microsoft.EntityFrameworkCore.Design;
  3. using Microsoft.Extensions.Configuration;
  4. using System;
  5. using System.IO;
  6. namespace BaseService.EntityFrameworkCore
  7. {
  8. public class BaseServiceMigrationDbContextFactory : IDesignTimeDbContextFactory<BaseServiceMigrationDbContext>
  9. {
  10. public BaseServiceMigrationDbContext CreateDbContext(string[] args)
  11. {
  12. BaseEfCoreEntityExtensionMappings.Configure();
  13. var configuration = BuildConfiguration();
  14. var builder = new DbContextOptionsBuilder<BaseServiceMigrationDbContext>()
  15. .UseMySql(configuration.GetConnectionString("Default"),new MySqlServerVersion(new Version()));
  16. return new BaseServiceMigrationDbContext(builder.Options);
  17. }
  18. private static IConfigurationRoot BuildConfiguration()
  19. {
  20. var builder = new ConfigurationBuilder()
  21. .SetBasePath(Directory.GetCurrentDirectory())
  22. .AddJsonFile("appsettings.json", optional: false);
  23. return builder.Build();
  24. }
  25. }
  26. }