119 lines
5.1 KiB
C#
119 lines
5.1 KiB
C#
// <auto-generated> This file has been auto generated by EF Core Power Tools. </auto-generated>
|
||
#nullable disable
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using Microsoft.EntityFrameworkCore;
|
||
using RDBMS_lab4.Models;
|
||
|
||
namespace RDBMS_lab4;
|
||
|
||
public partial class beautySalonContext : DbContext
|
||
{
|
||
public beautySalonContext()
|
||
{
|
||
}
|
||
|
||
public beautySalonContext(DbContextOptions<beautySalonContext> options)
|
||
: base(options)
|
||
{
|
||
}
|
||
|
||
public virtual DbSet<Buyer> Buyers { get; set; }
|
||
|
||
public virtual DbSet<Post> Posts { get; set; }
|
||
|
||
public virtual DbSet<Service> Services { get; set; }
|
||
|
||
public virtual DbSet<Timetable> Timetables { get; set; }
|
||
|
||
public virtual DbSet<Worker> Workers { get; set; }
|
||
|
||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
|
||
{
|
||
optionsBuilder.UseNpgsql("Host=192.168.1.70;Database=beautySalon;Username=windows;Password=windows");
|
||
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
|
||
AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true);
|
||
}
|
||
|
||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||
{
|
||
modelBuilder.Entity<Buyer>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("buyer_pkey");
|
||
|
||
entity.ToTable("buyers", tb => tb.HasComment("Таблица клиентов"));
|
||
|
||
entity.Property(e => e.Id).HasDefaultValueSql("nextval('buyer_id_seq'::regclass)");
|
||
});
|
||
|
||
modelBuilder.Entity<Post>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("Post_pkey");
|
||
|
||
entity.ToTable("posts", tb => tb.HasComment("Таблица с должностями работников"));
|
||
|
||
entity.Property(e => e.Id).HasDefaultValueSql("nextval('post_id_seq'::regclass)");
|
||
|
||
entity.HasMany(d => d.Services).WithMany(p => p.Posts)
|
||
.UsingEntity<Dictionary<string, object>>(
|
||
"PostService",
|
||
r => r.HasOne<Service>().WithMany()
|
||
.HasForeignKey("Serviceid")
|
||
.HasConstraintName("post_service_serviceid_fkey"),
|
||
l => l.HasOne<Post>().WithMany()
|
||
.HasForeignKey("Postid")
|
||
.HasConstraintName("post_service_postid_fkey"),
|
||
j =>
|
||
{
|
||
j.HasKey("Postid", "Serviceid").HasName("post_service_pkey");
|
||
j.ToTable("post_service", tb => tb.HasComment("Связь должностей и услуг"));
|
||
j.HasIndex(new[] { "Postid" }, "fki_post_service_postid_fkey");
|
||
j.HasIndex(new[] { "Serviceid" }, "fki_post_service_serviceid_fkey");
|
||
j.IndexerProperty<int>("Postid").HasColumnName("postid");
|
||
j.IndexerProperty<int>("Serviceid").HasColumnName("serviceid");
|
||
});
|
||
});
|
||
|
||
modelBuilder.Entity<Service>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("service_pkey");
|
||
|
||
entity.ToTable("services", tb => tb.HasComment("Таблица услуг"));
|
||
|
||
entity.Property(e => e.Id).HasDefaultValueSql("nextval('service_id_seq'::regclass)");
|
||
});
|
||
|
||
modelBuilder.Entity<Timetable>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Buyerid).HasName("timetable_pkey");
|
||
|
||
entity.ToTable("timetable", tb => tb.HasComment("Таблица расписания, содержит ссылки на клиента, услугу и работника"));
|
||
|
||
entity.Property(e => e.Buyerid).ValueGeneratedNever();
|
||
entity.Property(e => e.Date).HasDefaultValueSql("CURRENT_DATE");
|
||
entity.Property(e => e.Id).ValueGeneratedOnAdd();
|
||
|
||
entity.HasOne(d => d.Buyer).WithOne(p => p.Timetable).HasConstraintName("timetable_buyerid_fkey");
|
||
|
||
entity.HasOne(d => d.Service).WithMany(p => p.Timetables).HasConstraintName("timetable_serviceid_fkey");
|
||
|
||
entity.HasOne(d => d.Worker).WithMany(p => p.Timetables).HasConstraintName("timetable_workerid_fkey");
|
||
});
|
||
|
||
modelBuilder.Entity<Worker>(entity =>
|
||
{
|
||
entity.HasKey(e => e.Id).HasName("workers_pkey");
|
||
|
||
entity.ToTable("workers", tb => tb.HasComment("Таблица работников, содержит ссылку на должность"));
|
||
|
||
entity.Property(e => e.Id).HasDefaultValueSql("nextval('worker_id_seq'::regclass)");
|
||
|
||
entity.HasOne(d => d.Post).WithMany(p => p.Workers).HasConstraintName("workers_postid_fkey");
|
||
});
|
||
|
||
OnModelCreatingPartial(modelBuilder);
|
||
}
|
||
|
||
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
|
||
} |