AuthServerDbContextFactory.cs 1019 B

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