DatabaseContext.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Microsoft.EntityFrameworkCore;
  2. namespace Benchmarks.Model
  3. {
  4. public sealed class DatabaseContext : DbContext
  5. {
  6. private static DbContextOptions<DatabaseContext> _Options;
  7. #region Factory
  8. public static DatabaseContext Create()
  9. {
  10. return new DatabaseContext(_Options ??= GetOptions());
  11. }
  12. private static DbContextOptions<DatabaseContext> GetOptions()
  13. {
  14. var optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
  15. optionsBuilder.UseNpgsql("Server=tfb-database;Database=hello_world;User Id=benchmarkdbuser;Password=benchmarkdbpass;Maximum Pool Size=64;NoResetOnClose=true;Enlist=false;Max Auto Prepare=3");
  16. return optionsBuilder.Options;
  17. }
  18. private DatabaseContext(DbContextOptions options) : base(options) { }
  19. #endregion
  20. #region Entities
  21. public DbSet<World> World { get; set; }
  22. public DbSet<Fortune> Fortune { get; set; }
  23. #endregion
  24. }
  25. }