// using System; using DataLayer; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace DataLayer.Migrations { [DbContext(typeof(LibationContext))] partial class LibationContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "2.2.0-rtm-35687") .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); modelBuilder.Entity("DataLayer.Book", b => { b.Property("BookId") .ValueGeneratedOnAdd() .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property("AudibleProductId"); b.Property("CategoryId"); b.Property("DatePublished"); b.Property("Description"); b.Property("HasBookDetails"); b.Property("IsAbridged"); b.Property("LengthInMinutes"); b.Property("PictureId"); b.Property("Title"); b.HasKey("BookId"); b.HasIndex("AudibleProductId"); b.HasIndex("CategoryId"); b.ToTable("Books"); }); modelBuilder.Entity("DataLayer.BookContributor", b => { b.Property("BookId"); b.Property("ContributorId"); b.Property("Role"); b.Property("Order"); b.HasKey("BookId", "ContributorId", "Role"); b.HasIndex("BookId"); b.HasIndex("ContributorId"); b.ToTable("BookContributor"); }); modelBuilder.Entity("DataLayer.Category", b => { b.Property("CategoryId") .ValueGeneratedOnAdd() .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property("AudibleCategoryId"); b.Property("Name"); b.Property("ParentCategoryCategoryId"); b.HasKey("CategoryId"); b.HasIndex("AudibleCategoryId"); b.HasIndex("ParentCategoryCategoryId"); b.ToTable("Categories"); b.HasData( new { CategoryId = -1, AudibleCategoryId = "", Name = "" }); }); modelBuilder.Entity("DataLayer.Contributor", b => { b.Property("ContributorId") .ValueGeneratedOnAdd() .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property("AudibleAuthorId"); b.Property("Name"); b.HasKey("ContributorId"); b.HasIndex("Name"); b.ToTable("Contributors"); }); modelBuilder.Entity("DataLayer.LibraryBook", b => { b.Property("BookId"); b.Property("DateAdded"); b.Property("DownloadBookLink"); b.HasKey("BookId"); b.ToTable("Library"); }); modelBuilder.Entity("DataLayer.Series", b => { b.Property("SeriesId") .ValueGeneratedOnAdd() .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property("AudibleSeriesId"); b.Property("Name"); b.HasKey("SeriesId"); b.HasIndex("AudibleSeriesId"); b.ToTable("Series"); }); modelBuilder.Entity("DataLayer.SeriesBook", b => { b.Property("SeriesId"); b.Property("BookId"); b.Property("Index"); b.HasKey("SeriesId", "BookId"); b.HasIndex("BookId"); b.HasIndex("SeriesId"); b.ToTable("SeriesBook"); }); modelBuilder.Entity("DataLayer.Book", b => { b.HasOne("DataLayer.Category", "Category") .WithMany() .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Cascade); b.OwnsMany("DataLayer.Supplement", "Supplements", b1 => { b1.Property("SupplementId") .ValueGeneratedOnAdd() .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b1.Property("BookId"); b1.Property("Url"); b1.HasKey("SupplementId"); b1.HasIndex("BookId"); b1.ToTable("Supplement"); b1.HasOne("DataLayer.Book", "Book") .WithMany("Supplements") .HasForeignKey("BookId") .OnDelete(DeleteBehavior.Cascade); }); b.OwnsOne("DataLayer.UserDefinedItem", "UserDefinedItem", b1 => { b1.Property("BookId"); b1.Property("Tags"); b1.HasKey("BookId"); b1.ToTable("UserDefinedItem"); b1.HasOne("DataLayer.Book", "Book") .WithOne("UserDefinedItem") .HasForeignKey("DataLayer.UserDefinedItem", "BookId") .OnDelete(DeleteBehavior.Cascade); b1.OwnsOne("DataLayer.Rating", "Rating", b2 => { b2.Property("UserDefinedItemBookId"); b2.Property("OverallRating"); b2.Property("PerformanceRating"); b2.Property("StoryRating"); b2.HasKey("UserDefinedItemBookId"); b2.ToTable("UserDefinedItem"); b2.HasOne("DataLayer.UserDefinedItem") .WithOne("Rating") .HasForeignKey("DataLayer.Rating", "UserDefinedItemBookId") .OnDelete(DeleteBehavior.Cascade); }); }); b.OwnsOne("DataLayer.Rating", "Rating", b1 => { b1.Property("BookId") .ValueGeneratedOnAdd() .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b1.Property("OverallRating"); b1.Property("PerformanceRating"); b1.Property("StoryRating"); b1.HasKey("BookId"); b1.ToTable("Books"); b1.HasOne("DataLayer.Book") .WithOne("Rating") .HasForeignKey("DataLayer.Rating", "BookId") .OnDelete(DeleteBehavior.Cascade); }); }); modelBuilder.Entity("DataLayer.BookContributor", b => { b.HasOne("DataLayer.Book", "Book") .WithMany("ContributorsLink") .HasForeignKey("BookId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("DataLayer.Contributor", "Contributor") .WithMany("BooksLink") .HasForeignKey("ContributorId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("DataLayer.Category", b => { b.HasOne("DataLayer.Category", "ParentCategory") .WithMany() .HasForeignKey("ParentCategoryCategoryId"); }); modelBuilder.Entity("DataLayer.LibraryBook", b => { b.HasOne("DataLayer.Book", "Book") .WithOne() .HasForeignKey("DataLayer.LibraryBook", "BookId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("DataLayer.SeriesBook", b => { b.HasOne("DataLayer.Book", "Book") .WithMany("SeriesLink") .HasForeignKey("BookId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("DataLayer.Series", "Series") .WithMany("BooksLink") .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade); }); #pragma warning restore 612, 618 } } }