using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; namespace Voroncov2103.Models; public partial class DatabaseContext : DbContext { public DatabaseContext() { } public DatabaseContext(DbContextOptions options) : base(options) { } public virtual DbSet Agents { get; set; } public virtual DbSet AgentPriorityHistories { get; set; } public virtual DbSet AgentTypes { get; set; } public virtual DbSet Materials { get; set; } public virtual DbSet MaterialCountHistories { get; set; } public virtual DbSet MaterialTypes { get; set; } public virtual DbSet Products { get; set; } public virtual DbSet ProductCostHistories { get; set; } public virtual DbSet ProductMaterials { get; set; } public virtual DbSet ProductSales { get; set; } public virtual DbSet ProductTypes { get; set; } public virtual DbSet Shops { get; set; } public virtual DbSet Suppliers { 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 https://go.microsoft.com/fwlink/?LinkId=723263. => optionsBuilder.UseNpgsql("Host=localhost;Database=postgres;Username=postgres;Password=5432"); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("Agent_pkey"); entity.ToTable("Agent"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Address).HasMaxLength(300); entity.Property(e => e.AgentTypeId).HasColumnName("AgentTypeID"); entity.Property(e => e.DirectorName).HasMaxLength(100); entity.Property(e => e.Email).HasMaxLength(255); entity.Property(e => e.Inn) .HasMaxLength(12) .HasColumnName("INN"); entity.Property(e => e.Kpp) .HasMaxLength(9) .HasColumnName("KPP"); entity.Property(e => e.Logo).HasMaxLength(100); entity.Property(e => e.Phone).HasMaxLength(20); entity.Property(e => e.Title).HasMaxLength(150); entity.HasOne(d => d.AgentType).WithMany(p => p.Agents) .HasForeignKey(d => d.AgentTypeId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("Agent_AgentTypeID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("AgentPriorityHistory_pkey"); entity.ToTable("AgentPriorityHistory"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.AgentId).HasColumnName("AgentID"); entity.Property(e => e.ChangeDate).HasColumnType("timestamp without time zone"); entity.HasOne(d => d.Agent).WithMany(p => p.AgentPriorityHistories) .HasForeignKey(d => d.AgentId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("AgentPriorityHistory_AgentID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("AgentType_pkey"); entity.ToTable("AgentType"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Image).HasMaxLength(100); entity.Property(e => e.Title).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("Material_pkey"); entity.ToTable("Material"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Cost).HasPrecision(10, 2); entity.Property(e => e.Image).HasMaxLength(100); entity.Property(e => e.MaterialTypeId).HasColumnName("MaterialTypeID"); entity.Property(e => e.Title).HasMaxLength(100); entity.Property(e => e.Unit).HasMaxLength(10); entity.HasOne(d => d.MaterialType).WithMany(p => p.Materials) .HasForeignKey(d => d.MaterialTypeId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("Material_MaterialTypeID_fkey"); entity.HasMany(d => d.Suppliers).WithMany(p => p.Materials) .UsingEntity>( "MaterialSupplier", r => r.HasOne().WithMany() .HasForeignKey("SupplierId") .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("MaterialSupplier_SupplierID_fkey"), l => l.HasOne().WithMany() .HasForeignKey("MaterialId") .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("MaterialSupplier_MaterialID_fkey"), j => { j.HasKey("MaterialId", "SupplierId").HasName("MaterialSupplier_pkey"); j.ToTable("MaterialSupplier"); j.IndexerProperty("MaterialId").HasColumnName("MaterialID"); j.IndexerProperty("SupplierId").HasColumnName("SupplierID"); }); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("MaterialCountHistory_pkey"); entity.ToTable("MaterialCountHistory"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.ChangeDate).HasColumnType("timestamp without time zone"); entity.Property(e => e.MaterialId).HasColumnName("MaterialID"); entity.HasOne(d => d.Material).WithMany(p => p.MaterialCountHistories) .HasForeignKey(d => d.MaterialId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("MaterialCountHistory_MaterialID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("MaterialType_pkey"); entity.ToTable("MaterialType"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Title).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("Product_pkey"); entity.ToTable("Product"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.ArticleNumber).HasMaxLength(10); entity.Property(e => e.Image).HasMaxLength(100); entity.Property(e => e.MinCostForAgent).HasPrecision(10, 2); entity.Property(e => e.ProductTypeId).HasColumnName("ProductTypeID"); entity.Property(e => e.Title).HasMaxLength(100); entity.HasOne(d => d.ProductType).WithMany(p => p.Products) .HasForeignKey(d => d.ProductTypeId) .HasConstraintName("Product_ProductTypeID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("ProductCostHistory_pkey"); entity.ToTable("ProductCostHistory"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.ChangeDate).HasColumnType("timestamp without time zone"); entity.Property(e => e.CostValue).HasPrecision(10, 2); entity.Property(e => e.ProductId).HasColumnName("ProductID"); entity.HasOne(d => d.Product).WithMany(p => p.ProductCostHistories) .HasForeignKey(d => d.ProductId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("ProductCostHistory_ProductID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.ProductId, e.MaterialId }).HasName("ProductMaterial_pkey"); entity.ToTable("ProductMaterial"); entity.Property(e => e.ProductId).HasColumnName("ProductID"); entity.Property(e => e.MaterialId).HasColumnName("MaterialID"); entity.HasOne(d => d.Material).WithMany(p => p.ProductMaterials) .HasForeignKey(d => d.MaterialId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("ProductMaterial_MaterialID_fkey"); entity.HasOne(d => d.Product).WithMany(p => p.ProductMaterials) .HasForeignKey(d => d.ProductId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("ProductMaterial_ProductID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("ProductSale_pkey"); entity.ToTable("ProductSale"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.AgentId).HasColumnName("AgentID"); entity.Property(e => e.ProductId).HasColumnName("ProductID"); entity.HasOne(d => d.Agent).WithMany(p => p.ProductSales) .HasForeignKey(d => d.AgentId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("ProductSale_AgentID_fkey"); entity.HasOne(d => d.Product).WithMany(p => p.ProductSales) .HasForeignKey(d => d.ProductId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("ProductSale_ProductID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("ProductType_pkey"); entity.ToTable("ProductType"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Title).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("Shop_pkey"); entity.ToTable("Shop"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Address).HasMaxLength(300); entity.Property(e => e.AgentId).HasColumnName("AgentID"); entity.Property(e => e.Title).HasMaxLength(150); entity.HasOne(d => d.Agent).WithMany(p => p.Shops) .HasForeignKey(d => d.AgentId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("Shop_AgentID_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("Supplier_pkey"); entity.ToTable("Supplier"); entity.Property(e => e.Id).HasColumnName("ID"); entity.Property(e => e.Inn) .HasMaxLength(12) .HasColumnName("INN"); entity.Property(e => e.SupplierType).HasMaxLength(20); entity.Property(e => e.Title).HasMaxLength(150); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }