using System; using System.Collections.Generic; using CryptoPortfolio_Tracker.Models; using Microsoft.EntityFrameworkCore; namespace CryptoPortfolio_Tracker.Context; public partial class CryptoContext : DbContext { public CryptoContext() { } public CryptoContext(DbContextOptions options) : base(options) { } public virtual DbSet CryptoTypes { get; set; } public virtual DbSet Cryptocurrencies { get; set; } public virtual DbSet Networks { get; set; } public virtual DbSet Transactions { get; set; } public virtual DbSet TransactionTypes { get; set; } public virtual DbSet TransactionsStatuses { get; set; } public virtual DbSet Users { get; set; } public virtual DbSet UserWallets { get; set; } public virtual DbSet WalletTypes { 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=denjir-host.ru;Database=crypto;Username=crypto;Password=crypto;"); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("crypto_types_pkey"); entity.ToTable("crypto_types"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name).HasColumnName("name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("cryptocurrencies_pkey"); entity.ToTable("cryptocurrencies"); entity.HasIndex(e => e.CoingeckoId, "cryptocurrencies_coingecko_id_key").IsUnique(); entity.HasIndex(e => e.Symbol, "cryptocurrencies_symbol_key").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.CoingeckoId).HasColumnName("coingecko_id"); entity.Property(e => e.CryptoTypeId).HasColumnName("crypto_type_id"); entity.Property(e => e.Name).HasColumnName("name"); entity.Property(e => e.NetworkId).HasColumnName("network_id"); entity.Property(e => e.Symbol).HasColumnName("symbol"); entity.HasOne(d => d.CryptoType).WithMany(p => p.Cryptocurrencies) .HasForeignKey(d => d.CryptoTypeId) .HasConstraintName("cryptocurrencies_crypto_type_id_fkey"); entity.HasOne(d => d.Network).WithMany(p => p.Cryptocurrencies) .HasForeignKey(d => d.NetworkId) .HasConstraintName("cryptocurrencies_networks_fk"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("networks_pk"); entity.ToTable("networks"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name).HasColumnName("name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("transactions_pkey"); entity.ToTable("transactions"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Amount) .HasPrecision(30, 18) .HasColumnName("amount"); entity.Property(e => e.CryptocurrencyId).HasColumnName("cryptocurrency_id"); entity.Property(e => e.FeeUsd) .HasPrecision(30, 2) .HasColumnName("fee_usd"); entity.Property(e => e.PriceUsd) .HasPrecision(24, 10) .HasColumnName("price_usd"); entity.Property(e => e.RecipientAddress).HasColumnName("recipient_address"); entity.Property(e => e.SenderAddress).HasColumnName("sender_address"); entity.Property(e => e.StatusId).HasColumnName("status_id"); entity.Property(e => e.TotalUsd) .HasPrecision(30, 2) .HasColumnName("total_usd"); entity.Property(e => e.TransactionDate) .HasDefaultValueSql("now()") .HasColumnName("transaction_date"); entity.Property(e => e.TransactionHash).HasColumnName("transaction_hash"); entity.Property(e => e.TransactionTypeId).HasColumnName("transaction_type_id"); entity.Property(e => e.WalletId).HasColumnName("wallet_id"); entity.HasOne(d => d.Cryptocurrency).WithMany(p => p.Transactions) .HasForeignKey(d => d.CryptocurrencyId) .HasConstraintName("transactions_cryptocurrency_id_fkey"); entity.HasOne(d => d.Status).WithMany(p => p.Transactions) .HasForeignKey(d => d.StatusId) .HasConstraintName("transactions_status_id_fkey"); entity.HasOne(d => d.TransactionType).WithMany(p => p.Transactions) .HasForeignKey(d => d.TransactionTypeId) .HasConstraintName("transactions_transaction_type_id_fkey"); entity.HasOne(d => d.Wallet).WithMany(p => p.Transactions) .HasForeignKey(d => d.WalletId) .HasConstraintName("transactions_wallet_id_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("transaction_types_pkey"); entity.ToTable("transaction_types"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name).HasColumnName("name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("transactions_statuses_pkey"); entity.ToTable("transactions_statuses"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name).HasColumnName("name"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("users_pkey"); entity.ToTable("users"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Email).HasColumnName("email"); entity.Property(e => e.Login).HasColumnName("login"); entity.Property(e => e.Password).HasColumnName("password"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("user_wallets_pkey"); entity.ToTable("user_wallets"); entity.HasIndex(e => e.Address, "user_wallets_address_key").IsUnique(); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Address).HasColumnName("address"); entity.Property(e => e.Amount) .HasPrecision(30, 12) .HasColumnName("amount"); entity.Property(e => e.CryptocurrencyId).HasColumnName("cryptocurrency_id"); entity.Property(e => e.Name).HasColumnName("name"); entity.Property(e => e.TypeId).HasColumnName("type_id"); entity.Property(e => e.UserId).HasColumnName("user_id"); entity.HasOne(d => d.Cryptocurrency).WithMany(p => p.UserWallets) .HasForeignKey(d => d.CryptocurrencyId) .OnDelete(DeleteBehavior.Cascade) .HasConstraintName("user_wallets_cryptocurrencies_fk"); entity.HasOne(d => d.Type).WithMany(p => p.UserWallets) .HasForeignKey(d => d.TypeId) .HasConstraintName("user_wallets_type_id_fkey"); entity.HasOne(d => d.User).WithMany(p => p.UserWallets) .HasForeignKey(d => d.UserId) .HasConstraintName("user_wallets_user_id_fkey"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("wallet_types_pkey"); entity.ToTable("wallet_types"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name).HasColumnName("name"); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }