// <auto-generated />
using System;
using EFlib;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

#nullable disable

namespace EFlib.Migrations
{
    [DbContext(typeof(SQLiteContext))]
    partial class SQLiteContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder.HasAnnotation("ProductVersion", "7.0.2");

            modelBuilder.Entity("EFChampionEFSkill", b =>
                {
                    b.Property<string>("ChampionsName")
                        .HasColumnType("TEXT");

                    b.Property<string>("SkillsName")
                        .HasColumnType("TEXT");

                    b.HasKey("ChampionsName", "SkillsName");

                    b.HasIndex("SkillsName");

                    b.ToTable("EFChampionEFSkill");
                });

            modelBuilder.Entity("EFlib.EFChampion", b =>
                {
                    b.Property<string>("Name")
                        .HasMaxLength(250)
                        .HasColumnType("TEXT");

                    b.Property<string>("Bio")
                        .IsRequired()
                        .HasMaxLength(500)
                        .HasColumnType("TEXT");

                    b.Property<int>("Class")
                        .HasColumnType("INTEGER");

                    b.Property<string>("Icon")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<Guid>("ImageId")
                        .HasColumnType("TEXT");

                    b.HasKey("Name");

                    b.HasIndex("ImageId");

                    b.ToTable("Champions");
                });

            modelBuilder.Entity("EFlib.EFCharacteristics", b =>
                {
                    b.Property<string>("Name")
                        .HasMaxLength(250)
                        .HasColumnType("TEXT");

                    b.Property<string>("NameChampion")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<int>("Value")
                        .HasColumnType("INTEGER");

                    b.HasKey("Name");

                    b.HasIndex("NameChampion");

                    b.ToTable("Characteristics");
                });

            modelBuilder.Entity("EFlib.EFLargeImage", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");

                    b.Property<string>("Base64")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.HasKey("Id");

                    b.ToTable("LargeImages");
                });

            modelBuilder.Entity("EFlib.EFSkill", b =>
                {
                    b.Property<string>("Name")
                        .HasMaxLength(250)
                        .HasColumnType("TEXT");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasMaxLength(500)
                        .HasColumnType("TEXT");

                    b.Property<int>("Type")
                        .HasColumnType("INTEGER");

                    b.HasKey("Name");

                    b.ToTable("Skills");
                });

            modelBuilder.Entity("EFlib.EFSkin", b =>
                {
                    b.Property<string>("Name")
                        .HasColumnType("TEXT");

                    b.Property<string>("Description")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<string>("Icon")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<Guid>("ImageId")
                        .HasColumnType("TEXT");

                    b.Property<string>("NameChampion")
                        .IsRequired()
                        .HasColumnType("TEXT");

                    b.Property<float>("Price")
                        .HasColumnType("REAL");

                    b.HasKey("Name");

                    b.HasIndex("ImageId");

                    b.HasIndex("NameChampion");

                    b.ToTable("Skins");
                });

            modelBuilder.Entity("EFChampionEFSkill", b =>
                {
                    b.HasOne("EFlib.EFChampion", null)
                        .WithMany()
                        .HasForeignKey("ChampionsName")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("EFlib.EFSkill", null)
                        .WithMany()
                        .HasForeignKey("SkillsName")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("EFlib.EFChampion", b =>
                {
                    b.HasOne("EFlib.EFLargeImage", "Image")
                        .WithMany()
                        .HasForeignKey("ImageId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Image");
                });

            modelBuilder.Entity("EFlib.EFCharacteristics", b =>
                {
                    b.HasOne("EFlib.EFChampion", "Champion")
                        .WithMany("Characteristics")
                        .HasForeignKey("NameChampion")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Champion");
                });

            modelBuilder.Entity("EFlib.EFSkin", b =>
                {
                    b.HasOne("EFlib.EFLargeImage", "Image")
                        .WithMany()
                        .HasForeignKey("ImageId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("EFlib.EFChampion", "Champion")
                        .WithMany("Skins")
                        .HasForeignKey("NameChampion")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Champion");

                    b.Navigation("Image");
                });

            modelBuilder.Entity("EFlib.EFChampion", b =>
                {
                    b.Navigation("Characteristics");

                    b.Navigation("Skins");
                });
#pragma warning restore 612, 618
        }
    }
}
