demko_v/Models/DatabaseContext.cs
2025-04-16 00:00:02 +03:00

283 lines
11 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace demko_v.Models;
public partial class DatabaseContext : DbContext
{
public DatabaseContext()
{
}
public DatabaseContext(DbContextOptions<DatabaseContext> options)
: base(options)
{
}
public virtual DbSet<Agent> Agents { get; set; }
public virtual DbSet<AgentPriorityHistory> AgentPriorityHistories { get; set; }
public virtual DbSet<AgentType> AgentTypes { get; set; }
public virtual DbSet<Material> Materials { get; set; }
public virtual DbSet<MaterialCountHistory> MaterialCountHistories { get; set; }
public virtual DbSet<MaterialType> MaterialTypes { get; set; }
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<ProductCostHistory> ProductCostHistories { get; set; }
public virtual DbSet<ProductMaterial> ProductMaterials { get; set; }
public virtual DbSet<ProductSale> ProductSales { get; set; }
public virtual DbSet<ProductType> ProductTypes { get; set; }
public virtual DbSet<Shop> Shops { get; set; }
public virtual DbSet<Supplier> 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=demo_agents;Username=demo_agents;Password=demo_agents;Port=5445");
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Agent>(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<AgentPriorityHistory>(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");
});
modelBuilder.Entity<AgentType>(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);
entity.Property(e => e.ТипАгента)
.HasMaxLength(50)
.HasColumnName("Тип агента");
});
modelBuilder.Entity<Material>(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<Dictionary<string, object>>(
"MaterialSupplier",
r => r.HasOne<Supplier>().WithMany()
.HasForeignKey("SupplierId")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("MaterialSupplier_SupplierID_fkey"),
l => l.HasOne<Material>().WithMany()
.HasForeignKey("MaterialId")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("MaterialSupplier_MaterialID_fkey"),
j =>
{
j.HasKey("MaterialId", "SupplierId").HasName("MaterialSupplier_pkey");
j.ToTable("MaterialSupplier");
j.IndexerProperty<int>("MaterialId").HasColumnName("MaterialID");
j.IndexerProperty<int>("SupplierId").HasColumnName("SupplierID");
});
});
modelBuilder.Entity<MaterialCountHistory>(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<MaterialType>(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<Product>(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<ProductCostHistory>(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<ProductMaterial>(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<ProductSale>(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)
.HasConstraintName("fk_productsale_agent");
entity.HasOne(d => d.Product).WithMany(p => p.ProductSales)
.HasForeignKey(d => d.ProductId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("ProductSale_ProductID_fkey");
});
modelBuilder.Entity<ProductType>(entity =>
{
entity.HasKey(e => e.Id).HasName("ProductType_pkey");
entity.ToTable("ProductType");
entity.Property(e => e.Id).HasColumnName("ID");
entity.Property(e => e.Percent).HasColumnName("percent");
entity.Property(e => e.Title).HasMaxLength(50);
});
modelBuilder.Entity<Shop>(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);
});
modelBuilder.Entity<Supplier>(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);
}