diff --git a/src/ReC.Infrastructure/RecDbContext.cs b/src/ReC.Infrastructure/RecDbContext.cs index 790bdf8..3d4edf2 100644 --- a/src/ReC.Infrastructure/RecDbContext.cs +++ b/src/ReC.Infrastructure/RecDbContext.cs @@ -1,16 +1,12 @@ using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Options; using ReC.Application.Common.Interfaces; -using ReC.Application.Common.Options.DbModel; using ReC.Domain.QueryOutput; using ReC.Domain.Views; namespace ReC.Infrastructure; -public class RecDbContext(DbContextOptions options, IOptions dbModelOptions) : DbContext(options), IRecDbContext +public class RecDbContext(DbContextOptions options) : DbContext(options), IRecDbContext { - private readonly DbModelOptions _dbModelOptions = dbModelOptions.Value; - #region DB Sets public DbSet RecActionViews { get; set; } @@ -29,118 +25,23 @@ public class RecDbContext(DbContextOptions options, IOptions(b => { - b.ToView(opt.Name, opt.Schema); - b.HasKey(e => e.Id); - - b.Property(e => e.Id).HasColumnName(opt[nameof(RecActionView.Id)]); - b.Property(e => e.ProfileId).HasColumnName(opt[nameof(RecActionView.ProfileId)]); - b.Property(e => e.ProfileName).HasColumnName(opt[nameof(RecActionView.ProfileName)]); - b.Property(e => e.ProfileType).HasColumnName(opt[nameof(RecActionView.ProfileType)]); - b.Property(e => e.Sequence).HasColumnName(opt[nameof(RecActionView.Sequence)]); - b.Property(e => e.EndpointId).HasColumnName(opt[nameof(RecActionView.EndpointId)]); - b.Property(e => e.EndpointUri).HasColumnName(opt[nameof(RecActionView.EndpointUri)]); - b.Property(e => e.EndpointAuthId).HasColumnName(opt[nameof(RecActionView.EndpointAuthId)]); - b.Property(e => e.EndpointAuthType).HasColumnName(opt[nameof(RecActionView.EndpointAuthType)]); - b.Property(e => e.EndpointAuthTypeName).HasColumnName(opt[nameof(RecActionView.EndpointAuthTypeName)]); - b.Property(e => e.EndpointAuthApiKey).HasColumnName(opt[nameof(RecActionView.EndpointAuthApiKey)]); - b.Property(e => e.EndpointAuthApiValue).HasColumnName(opt[nameof(RecActionView.EndpointAuthApiValue)]); - b.Property(e => e.EndpointAuthApiKeyAddTo).HasColumnName(opt[nameof(RecActionView.EndpointAuthApiKeyAddTo)]); - b.Property(e => e.EndpointAuthApiKeyAddToName).HasColumnName(opt[nameof(RecActionView.EndpointAuthApiKeyAddToName)]); - b.Property(e => e.EndpointAuthToken).HasColumnName(opt[nameof(RecActionView.EndpointAuthToken)]); - b.Property(e => e.EndpointAuthUsername).HasColumnName(opt[nameof(RecActionView.EndpointAuthUsername)]); - b.Property(e => e.EndpointAuthPassword).HasColumnName(opt[nameof(RecActionView.EndpointAuthPassword)]); - b.Property(e => e.EndpointAuthDomain).HasColumnName(opt[nameof(RecActionView.EndpointAuthDomain)]); - b.Property(e => e.EndpointAuthWorkstation).HasColumnName(opt[nameof(RecActionView.EndpointAuthWorkstation)]); - b.Property(e => e.EndpointParamsId).HasColumnName(opt[nameof(RecActionView.EndpointParamsId)]); - b.Property(e => e.SqlConnectionId).HasColumnName(opt[nameof(RecActionView.SqlConnectionId)]); - b.Property(e => e.SqlConnectionServer).HasColumnName(opt[nameof(RecActionView.SqlConnectionServer)]); - b.Property(e => e.SqlConnectionDb).HasColumnName(opt[nameof(RecActionView.SqlConnectionDb)]); - b.Property(e => e.SqlConnectionUsername).HasColumnName(opt[nameof(RecActionView.SqlConnectionUsername)]); - b.Property(e => e.SqlConnectionPassword).HasColumnName(opt[nameof(RecActionView.SqlConnectionPassword)]); - b.Property(e => e.RestType).HasColumnName(opt[nameof(RecActionView.RestType)]); - b.Property(e => e.RestTypeName).HasColumnName(opt[nameof(RecActionView.RestTypeName)]); - b.Property(e => e.PreprocessingQuery).HasColumnName(opt[nameof(RecActionView.PreprocessingQuery)]); - b.Property(e => e.HeaderQuery).HasColumnName(opt[nameof(RecActionView.HeaderQuery)]); - b.Property(e => e.BodyQuery).HasColumnName(opt[nameof(RecActionView.BodyQuery)]); - b.Property(e => e.PostprocessingQuery).HasColumnName(opt[nameof(RecActionView.PostprocessingQuery)]); - b.Property(e => e.ErrorAction).HasColumnName(opt[nameof(RecActionView.ErrorAction)]); - b.Property(e => e.ErrorActionName).HasColumnName(opt[nameof(RecActionView.ErrorActionName)]); + b.ToView("VWREC_ACTION", "dbo"); b.HasMany(e => e.Results) .WithOne(r => r.Action) .HasForeignKey(r => r.ActionId); }); - } - - private void ConfigureProfileView(ModelBuilder modelBuilder) - { - var opt = _dbModelOptions[nameof(ProfileView)]; modelBuilder.Entity(b => { - b.ToView(opt.Name, opt.Schema); - b.HasKey(e => e.Id); - - b.Property(e => e.Id).HasColumnName(opt[nameof(ProfileView.Id)]); - b.Property(e => e.Active).HasColumnName(opt[nameof(ProfileView.Active)]); - b.Property(e => e.TypeId).HasColumnName(opt[nameof(ProfileView.TypeId)]); - b.Property(e => e.Type).HasColumnName(opt[nameof(ProfileView.Type)]); - b.Property(e => e.Mandantor).HasColumnName(opt[nameof(ProfileView.Mandantor)]); - b.Property(e => e.ProfileName).HasColumnName(opt[nameof(ProfileView.ProfileName)]); - b.Property(e => e.Description).HasColumnName(opt[nameof(ProfileView.Description)]); - b.Property(e => e.LogLevelId).HasColumnName(opt[nameof(ProfileView.LogLevelId)]); - b.Property(e => e.LogLevel).HasColumnName(opt[nameof(ProfileView.LogLevel)]); - b.Property(e => e.LanguageId).HasColumnName(opt[nameof(ProfileView.LanguageId)]); - b.Property(e => e.Language).HasColumnName(opt[nameof(ProfileView.Language)]); - b.Property(e => e.AddedWho).HasColumnName(opt[nameof(ProfileView.AddedWho)]); - b.Property(e => e.AddedWhen).HasColumnName(opt[nameof(ProfileView.AddedWhen)]); - b.Property(e => e.ChangedWho).HasColumnName(opt[nameof(ProfileView.ChangedWho)]); - b.Property(e => e.ChangedWhen).HasColumnName(opt[nameof(ProfileView.ChangedWhen)]); - b.Property(e => e.FirstRun).HasColumnName(opt[nameof(ProfileView.FirstRun)]); - b.Property(e => e.LastRun).HasColumnName(opt[nameof(ProfileView.LastRun)]); - b.Property(e => e.LastResult).HasColumnName(opt[nameof(ProfileView.LastResult)]); + b.ToView("VWREC_PROFILE", "dbo"); }); - } - - private void ConfigureResultView(ModelBuilder modelBuilder) - { - var opt = _dbModelOptions[nameof(ResultView)]; modelBuilder.Entity(b => { - b.ToView(opt.Name, opt.Schema); - b.HasKey(e => e.Id); - - b.Property(e => e.Id).HasColumnName(opt[nameof(ResultView.Id)]); - b.Property(e => e.ActionId).HasColumnName(opt[nameof(ResultView.ActionId)]); - b.Property(e => e.ProfileId).HasColumnName(opt[nameof(ResultView.ProfileId)]); - b.Property(e => e.ProfileName).HasColumnName(opt[nameof(ResultView.ProfileName)]); - b.Property(e => e.StatusCode).HasColumnName(opt[nameof(ResultView.StatusCode)]); - b.Property(e => e.StatusName).HasColumnName(opt[nameof(ResultView.StatusName)]); - b.Property(e => e.Type).HasColumnName(opt[nameof(ResultView.Type)]); - b.Property(e => e.TypeName).HasColumnName(opt[nameof(ResultView.TypeName)]); - b.Property(e => e.Header).HasColumnName(opt[nameof(ResultView.Header)]); - b.Property(e => e.Body).HasColumnName(opt[nameof(ResultView.Body)]); - b.Property(e => e.Info).HasColumnName(opt[nameof(ResultView.Info)]); - b.Property(e => e.Error).HasColumnName(opt[nameof(ResultView.Error)]); - b.Property(e => e.AddedWho).HasColumnName(opt[nameof(ResultView.AddedWho)]); - b.Property(e => e.AddedWhen).HasColumnName(opt[nameof(ResultView.AddedWhen)]); - b.Property(e => e.ChangedWho).HasColumnName(opt[nameof(ResultView.ChangedWho)]); - b.Property(e => e.ChangedWhen).HasColumnName(opt[nameof(ResultView.ChangedWhen)]); + b.ToView("VWREC_RESULT", "dbo"); b.HasOne(r => r.Action) .WithMany(a => a.Results) @@ -150,38 +51,20 @@ public class RecDbContext(DbContextOptions options, IOptions r.ProfileId); }); - } - - private void ConfigureHeaderQueryResult(ModelBuilder modelBuilder) - { - var opt = _dbModelOptions[nameof(HeaderQueryResult)]; modelBuilder.Entity(b => { b.HasNoKey(); - b.Property(e => e.RawHeader).HasColumnName(opt[nameof(HeaderQueryResult.RawHeader)]); }); - } - - private void ConfigureBodyQueryResult(ModelBuilder modelBuilder) - { - var opt = _dbModelOptions[nameof(BodyQueryResult)]; modelBuilder.Entity(b => { b.HasNoKey(); - b.Property(e => e.RawBody).HasColumnName(opt[nameof(BodyQueryResult.RawBody)]); }); - } - - private void ConfigureInsertObjectResult(ModelBuilder modelBuilder) - { - var opt = _dbModelOptions[nameof(InsertObjectResult)]; modelBuilder.Entity(b => { b.HasNoKey(); - b.Property(e => e.NewObjectId).HasColumnName(opt[nameof(InsertObjectResult.NewObjectId)]); }); } } \ No newline at end of file