using DbFirst.Domain.Entities; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Options; namespace DbFirst.Infrastructure; public partial class ApplicationDbContext : DbContext { private readonly TableConfigurations _config; public ApplicationDbContext(DbContextOptions options, IOptionsMonitor configOptions) : base(options) { _config = configOptions.CurrentValue; } public virtual DbSet VwmyCatalogs { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { var catCfg = _config.VwmyCatalog; modelBuilder.Entity(entity => { entity.HasKey(e => e.Guid); entity.ToView(catCfg.ViewName); entity.Property(e => e.Guid).HasColumnName(catCfg.GuidColumnName); entity.Property(e => e.AddedWho) .HasMaxLength(30) .IsUnicode(false) .HasColumnName(catCfg.AddedWhoColumnName); entity.Property(e => e.AddedWhen) .HasColumnType("datetime") .HasColumnName(catCfg.AddedWhenColumnName); entity.Property(e => e.CatString) .HasMaxLength(900) .IsUnicode(false) .HasColumnName(catCfg.CatStringColumnName); entity.Property(e => e.CatTitle) .HasMaxLength(100) .IsUnicode(false) .HasColumnName(catCfg.CatTitleColumnName); entity.Property(e => e.ChangedWhen) .HasColumnType("datetime") .HasColumnName(catCfg.ChangedWhenColumnName); entity.Property(e => e.ChangedWho) .HasMaxLength(30) .IsUnicode(false) .HasColumnName(catCfg.ChangedWhoColumnName); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }