Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using Microsoft.EntityFrameworkCore;
  4. using Microsoft.EntityFrameworkCore.Design;
  5. using Microsoft.Extensions.Configuration;
  6. using Curator.Data.EntityFramework.Context;
  7.  
  8. namespace Curator.Data.EntityFramework.Mysql
  9. {
  10. public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<CuratorContext>
  11. {
  12. private readonly IConfiguration m_configuration;
  13.  
  14. public DesignTimeDbContextFactory()
  15. {
  16. m_configuration = new ConfigurationBuilder()
  17. .SetBasePath(Directory.GetCurrentDirectory())
  18. .AddJsonFile("appsettings.json", optional : false)
  19. .Build();
  20. }
  21.  
  22. public DesignTimeDbContextFactory(IConfiguration configuration)
  23. {
  24. m_configuration = configuration;
  25. }
  26.  
  27. public CuratorContext CreateDbContext(string[] args)
  28. {
  29. var connectionString = m_configuration.GetConnectionString("Curator.Entities");
  30.  
  31. var builder = new DbContextOptionsBuilder<CuratorContext>()
  32. .UseMySQL(connectionString, b => b.MigrationsAssembly(GetType().Assembly.FullName));
  33.  
  34. var context = new CuratorContext(builder.Options);
  35. context.Database.EnsureCreated();
  36. return context;
  37. }
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement