using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; namespace MyMoviesWPF.Models { public partial class MyMoviesDBContext : DbContext { public MyMoviesDBContext() { Database.EnsureCreated(); } public MyMoviesDBContext(DbContextOptions options) : base(options) { Database.EnsureCreated(); } public virtual DbSet Actors { get; set; } = null!; public virtual DbSet ActorLists { get; set; } = null!; public virtual DbSet Catalogs { get; set; } = null!; public virtual DbSet Genres { get; set; } = null!; public virtual DbSet Movies { get; set; } = null!; public virtual DbSet Orders { get; set; } = null!; public virtual DbSet Payments { get; set; } = null!; public virtual DbSet Users { get; set; } = null!; protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { #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.UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB;Database=moviesDB; Integrated Security=True;"); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => e.Idactor); entity.Property(e => e.Idactor).HasColumnName("IDActor"); entity.Property(e => e.BirthDate).HasColumnType("date"); entity.Property(e => e.Country).HasMaxLength(50); entity.Property(e => e.Name).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdactorList); entity.ToTable("ActorList"); entity.HasIndex(e => e.Idactor, "IX_ActorList_IDActor"); entity.Property(e => e.IdactorList).HasColumnName("IDActorList"); entity.Property(e => e.Idactor).HasColumnName("IDActor"); entity.HasOne(d => d.IdactorNavigation) .WithMany(p => p.ActorLists) .HasForeignKey(d => d.Idactor) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_ActorList_Actors"); }); modelBuilder.Entity(entity => { entity.ToTable("Catalog"); entity.HasIndex(e => e.Idmovie, "IX_Catalog_IDMovie"); entity.Property(e => e.CatalogId).HasColumnName("CatalogID"); entity.Property(e => e.Idmovie).HasColumnName("IDMovie"); entity.Property(e => e.Title).HasMaxLength(20); entity.HasOne(d => d.IdmovieNavigation) .WithMany(p => p.Catalogs) .HasForeignKey(d => d.Idmovie) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_Catalog_Movie"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idgenre); entity.Property(e => e.Idgenre).HasColumnName("IDGenre"); entity.Property(e => e.Name).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idmovie); entity.ToTable("Movie"); entity.HasIndex(e => e.Idgenre, "IX_Movie_IDGenre"); entity.Property(e => e.Idmovie).HasColumnName("IDMovie"); entity.Property(e => e.Description).HasMaxLength(200); entity.Property(e => e.IdactorList).HasColumnName("IDActorList"); entity.Property(e => e.Idgenre).HasColumnName("IDGenre"); entity.Property(e => e.Languages).HasMaxLength(100); entity.Property(e => e.Name).HasMaxLength(50); entity.Property(e => e.Price).HasColumnType("money"); entity.Property(e => e.ProductYear).HasColumnType("date"); entity.HasOne(d => d.IdgenreNavigation) .WithMany(p => p.Movies) .HasForeignKey(d => d.Idgenre) .HasConstraintName("FK_Movie_Genres1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idorder); entity.ToTable("Order"); entity.HasIndex(e => e.Idpayment, "IX_Order_IDPayment"); entity.HasIndex(e => e.Iduser, "IX_Order_IDUser"); entity.Property(e => e.Idorder).HasColumnName("IDOrder"); entity.Property(e => e.Date).HasColumnType("date"); entity.Property(e => e.Idmovie).HasColumnName("IDMovie"); entity.Property(e => e.Idpayment).HasColumnName("IDPayment"); entity.Property(e => e.Iduser).HasColumnName("IDUser"); entity.Property(e => e.Price).HasColumnType("money"); entity.Property(e => e.Status).HasMaxLength(50); entity.HasOne(d => d.IdmovieNavigation) .WithMany(p => p.Orders) .HasForeignKey(d => d.Idmovie) .HasConstraintName("FK_Order_Movie"); entity.HasOne(d => d.IdpaymentNavigation) .WithMany(p => p.Orders) .HasForeignKey(d => d.Idpayment) .HasConstraintName("FK_Order_Payment1"); entity.HasOne(d => d.IduserNavigation) .WithMany(p => p.Orders) .HasForeignKey(d => d.Iduser) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("FK_Order_Users1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Idpayment); entity.ToTable("Payment"); entity.Property(e => e.Idpayment).HasColumnName("IDPayment"); entity.Property(e => e.Date).HasColumnType("date"); entity.Property(e => e.PaymentType).HasMaxLength(20); entity.Property(e => e.Status).HasMaxLength(20); entity.Property(e => e.Sum).HasColumnType("money"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Iduser); entity.Property(e => e.Iduser).HasColumnName("IDUser"); entity.Property(e => e.EMail) .HasMaxLength(20) .IsUnicode(false) .HasColumnName("eMail"); entity.Property(e => e.Login) .HasMaxLength(20) .IsUnicode(false); entity.Property(e => e.Password) .HasMaxLength(20) .IsUnicode(false); entity.Property(e => e.PhoneNumber) .HasMaxLength(15) .IsUnicode(false); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); } }