gr606_kusanContext.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. using System;
  2. using System.Collections.Generic;
  3. using Microsoft.EntityFrameworkCore;
  4. using Microsoft.EntityFrameworkCore.Metadata;
  5. namespace nukakto.Models
  6. {
  7. public partial class gr606_kusanContext : DbContext
  8. {
  9. public gr606_kusanContext()
  10. {
  11. }
  12. public gr606_kusanContext(DbContextOptions<gr606_kusanContext> options)
  13. : base(options)
  14. {
  15. }
  16. public virtual DbSet<Attraction> Attractions { get; set; } = null!;
  17. public virtual DbSet<Card> Cards { get; set; } = null!;
  18. public virtual DbSet<Stock> Stocks { get; set; } = null!;
  19. public virtual DbSet<TypeAttraction> TypeAttractions { get; set; } = null!;
  20. public virtual DbSet<User> Users { get; set; } = null!;
  21. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  22. {
  23. if (!optionsBuilder.IsConfigured)
  24. {
  25. optionsBuilder.UseSqlServer("Data source=mssql;Database=gr606_kusan;Integrated Security=true;");
  26. }
  27. }
  28. protected override void OnModelCreating(ModelBuilder modelBuilder)
  29. {
  30. modelBuilder.Entity<Attraction>(entity =>
  31. {
  32. entity.HasKey(e => e.IdAttractions);
  33. entity.Property(e => e.AgeLimit).HasMaxLength(50);
  34. entity.Property(e => e.Name).HasMaxLength(50);
  35. entity.Property(e => e.Price).HasColumnType("money");
  36. entity.HasOne(d => d.IdUserNavigation)
  37. .WithMany(p => p.Attractions)
  38. .HasForeignKey(d => d.IdUser)
  39. .OnDelete(DeleteBehavior.ClientSetNull)
  40. .HasConstraintName("FK_Attractions_User");
  41. });
  42. modelBuilder.Entity<Card>(entity =>
  43. {
  44. entity.HasKey(e => e.IdCard);
  45. entity.ToTable("Card");
  46. entity.Property(e => e.Balance).HasColumnType("money");
  47. entity.Property(e => e.Bonus).HasColumnType("money");
  48. entity.Property(e => e.DataCard).HasColumnType("date");
  49. entity.Property(e => e.NumberCard).HasMaxLength(50);
  50. entity.HasOne(d => d.IdUserNavigation)
  51. .WithMany(p => p.Cards)
  52. .HasForeignKey(d => d.IdUser)
  53. .OnDelete(DeleteBehavior.ClientSetNull)
  54. .HasConstraintName("FK_Card_User");
  55. });
  56. modelBuilder.Entity<Stock>(entity =>
  57. {
  58. entity.HasKey(e => e.IdStock);
  59. entity.ToTable("Stock");
  60. entity.Property(e => e.Comment).HasMaxLength(300);
  61. entity.Property(e => e.DateEnd).HasColumnType("date");
  62. entity.Property(e => e.DateStart).HasColumnType("date");
  63. entity.Property(e => e.Icon).HasColumnType("image");
  64. entity.HasOne(d => d.IdAttractionsNavigation)
  65. .WithMany(p => p.Stocks)
  66. .HasForeignKey(d => d.IdAttractions)
  67. .OnDelete(DeleteBehavior.ClientSetNull)
  68. .HasConstraintName("FK_Stock_Attractions");
  69. });
  70. modelBuilder.Entity<TypeAttraction>(entity =>
  71. {
  72. entity.HasKey(e => e.IdType);
  73. entity.Property(e => e.Name).HasMaxLength(50);
  74. entity.HasOne(d => d.IdAttractionsNavigation)
  75. .WithMany(p => p.TypeAttractions)
  76. .HasForeignKey(d => d.IdAttractions)
  77. .OnDelete(DeleteBehavior.ClientSetNull)
  78. .HasConstraintName("FK_TypeAttractions_Attractions");
  79. });
  80. modelBuilder.Entity<User>(entity =>
  81. {
  82. entity.HasKey(e => e.IdUser);
  83. entity.ToTable("User");
  84. entity.Property(e => e.FirstName).HasMaxLength(50);
  85. entity.Property(e => e.LastName).HasMaxLength(50);
  86. entity.Property(e => e.Login).HasMaxLength(50);
  87. entity.Property(e => e.MiddleName).HasMaxLength(50);
  88. entity.Property(e => e.Password).HasMaxLength(50);
  89. });
  90. OnModelCreatingPartial(modelBuilder);
  91. }
  92. partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
  93. }
  94. }