using Microsoft.EntityFrameworkCore; using Npgsql; using Persistence.Database.Entity; using System.Data.Common; namespace Persistence.Database.Model; public partial class PersistenceDbContext : DbContext { public DbSet DataSaub => Set(); public DbSet ChangeLog => Set(); public DbSet Setpoint => Set(); public DbSet TimestampedSets => Set(); public PersistenceDbContext() : base() { } public PersistenceDbContext(DbContextOptions options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) optionsBuilder.UseNpgsql("Host=localhost;Database=persistence;Username=postgres;Password=q;Persist Security Info=True;Include Error Detail=True;" //, builder=>builder.EnableRetryOnFailure(2, System.TimeSpan.FromMinutes(1)) ); } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.HasPostgresExtension("adminpack") .HasAnnotation("Relational:Collation", "Russian_Russia.1251"); modelBuilder.Entity() .Property(e => e.Set) .HasJsonConversion(); } }