//------------------------------------------------------------------------------ // This is auto-generated code. //------------------------------------------------------------------------------ // This code was generated by Entity Developer tool using EF Core template. // Code is generated on: 24.01.2022 08:57:25 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. //------------------------------------------------------------------------------ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Common; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Internal; using Microsoft.EntityFrameworkCore.Metadata; using FoodsharingSiegen.Contracts.Entity; namespace FoodsharingSiegen.Server.Data { public partial class FsContext : DbContext { public FsContext() : base() { OnCreated(); } public FsContext(DbContextOptions options) : base(options) { OnCreated(); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured || (!optionsBuilder.Options.Extensions.OfType().Any(ext => !string.IsNullOrEmpty(ext.ConnectionString) || ext.Connection != null) && !optionsBuilder.Options.Extensions.Any(ext => !(ext is RelationalOptionsExtension) && !(ext is CoreOptionsExtension)))) { } CustomizeConfiguration(ref optionsBuilder); base.OnConfiguring(optionsBuilder); } partial void CustomizeConfiguration(ref DbContextOptionsBuilder optionsBuilder); public virtual DbSet Users { get; set; } public virtual DbSet InteractionProcesses { get; set; } public virtual DbSet Prospects { get; set; } public virtual DbSet InteractionDates { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); this.UserMapping(modelBuilder); this.CustomizeUserMapping(modelBuilder); this.InteractionProcessMapping(modelBuilder); this.CustomizeInteractionProcessMapping(modelBuilder); this.ProspectMapping(modelBuilder); this.CustomizeProspectMapping(modelBuilder); this.InteractionDateMapping(modelBuilder); this.CustomizeInteractionDateMapping(modelBuilder); RelationshipsMapping(modelBuilder); CustomizeMapping(ref modelBuilder); } #region User Mapping private void UserMapping(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable(@"Users"); modelBuilder.Entity().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity().Property(x => x.Mail).HasColumnName(@"Mail").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.Type).HasColumnName(@"Type").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.Verified).HasColumnName(@"Verified").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.Name).HasColumnName(@"Name").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.Created).HasColumnName(@"Created").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().HasKey(@"Id"); } partial void CustomizeUserMapping(ModelBuilder modelBuilder); #endregion #region InteractionProcess Mapping private void InteractionProcessMapping(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable(@"InteractionProcesses"); modelBuilder.Entity().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity().Property(x => x.EinAb1Id).HasColumnName(@"EinAb1Id").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.EinAb2Id).HasColumnName(@"EinAb2Id").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.EinAb3Id).HasColumnName(@"EinAb3Id").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.WelcomeId).HasColumnName(@"WelcomeId").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.VerifyId).HasColumnName(@"VerifyId").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.PassId).HasColumnName(@"PassId").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().HasKey(@"Id"); } partial void CustomizeInteractionProcessMapping(ModelBuilder modelBuilder); #endregion #region Prospect Mapping private void ProspectMapping(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable(@"Prospects"); modelBuilder.Entity().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity().Property(x => x.FsId).HasColumnName(@"FsId").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.Name).HasColumnName(@"Name").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.ProgressId).HasColumnName(@"ProgressId").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().HasKey(@"Id"); } partial void CustomizeProspectMapping(ModelBuilder modelBuilder); #endregion #region InteractionDate Mapping private void InteractionDateMapping(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable(@"InteractionDates"); modelBuilder.Entity().Property(x => x.Id).HasColumnName(@"Id").IsRequired().ValueGeneratedOnAdd(); modelBuilder.Entity().Property(x => x.Date).HasColumnName(@"Date").IsRequired().ValueGeneratedNever(); modelBuilder.Entity().Property(x => x.UserId).HasColumnName(@"UserId").ValueGeneratedNever(); modelBuilder.Entity().HasKey(@"Id"); } partial void CustomizeInteractionDateMapping(ModelBuilder modelBuilder); #endregion private void RelationshipsMapping(ModelBuilder modelBuilder) { modelBuilder.Entity().HasMany(x => x.InteractionDates).WithOne(op => op.User).HasForeignKey(@"UserId").IsRequired(true); modelBuilder.Entity().HasOne(x => x.EinAb1).WithOne().HasPrincipalKey(typeof(InteractionProcess), @"EinAb1Id").HasForeignKey(typeof(InteractionDate), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.EinAb2).WithOne().HasPrincipalKey(typeof(InteractionProcess), @"EinAb2Id").HasForeignKey(typeof(InteractionDate), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.EinAb3).WithOne().HasPrincipalKey(typeof(InteractionProcess), @"EinAb3Id").HasForeignKey(typeof(InteractionDate), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.Welcome).WithOne().HasPrincipalKey(typeof(InteractionProcess), @"WelcomeId").HasForeignKey(typeof(InteractionDate), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.Verify).WithOne().HasPrincipalKey(typeof(InteractionProcess), @"VerifyId").HasForeignKey(typeof(InteractionDate), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.Pass).WithOne().HasPrincipalKey(typeof(InteractionProcess), @"PassId").HasForeignKey(typeof(InteractionDate), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.Progress).WithOne().HasPrincipalKey(typeof(Prospect), @"ProgressId").HasForeignKey(typeof(InteractionProcess), @"Id").IsRequired(true); modelBuilder.Entity().HasOne(x => x.User).WithMany(op => op.InteractionDates).HasForeignKey(@"UserId").IsRequired(true); } partial void CustomizeMapping(ref ModelBuilder modelBuilder); public bool HasChanges() { return ChangeTracker.Entries().Any(e => e.State == Microsoft.EntityFrameworkCore.EntityState.Added || e.State == Microsoft.EntityFrameworkCore.EntityState.Modified || e.State == Microsoft.EntityFrameworkCore.EntityState.Deleted); } partial void OnCreated(); } }