// <auto-generated /> using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using MyRecipes2.Server.Data; namespace MyRecipes2.Server.Migrations { [DbContext(typeof(ApplicationDbContext))] partial class ApplicationDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("Relational:MaxIdentifierLength", 128) .HasAnnotation("ProductVersion", "5.0.8") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); modelBuilder.Entity("IdentityServer4.EntityFramework.Entities.DeviceFlowCodes", b => { b.Property<string>("UserCode") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<string>("ClientId") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime2"); b.Property<string>("Data") .IsRequired() .HasMaxLength(50000) .HasColumnType("nvarchar(max)"); b.Property<string>("Description") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<string>("DeviceCode") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<DateTime?>("Expiration") .IsRequired() .HasColumnType("datetime2"); b.Property<string>("SessionId") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property<string>("SubjectId") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.HasKey("UserCode"); b.HasIndex("DeviceCode") .IsUnique(); b.HasIndex("Expiration"); b.ToTable("DeviceCodes"); }); modelBuilder.Entity("IdentityServer4.EntityFramework.Entities.PersistedGrant", b => { b.Property<string>("Key") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<string>("ClientId") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<DateTime?>("ConsumedTime") .HasColumnType("datetime2"); b.Property<DateTime>("CreationTime") .HasColumnType("datetime2"); b.Property<string>("Data") .IsRequired() .HasMaxLength(50000) .HasColumnType("nvarchar(max)"); b.Property<string>("Description") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<DateTime?>("Expiration") .HasColumnType("datetime2"); b.Property<string>("SessionId") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property<string>("SubjectId") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property<string>("Type") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.HasKey("Key"); b.HasIndex("Expiration"); b.HasIndex("SubjectId", "ClientId", "Type"); b.HasIndex("SubjectId", "SessionId", "Type"); b.ToTable("PersistedGrants"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => { b.Property<string>("Id") .HasColumnType("nvarchar(450)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("nvarchar(max)"); b.Property<string>("Name") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property<string>("NormalizedName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex") .HasFilter("[NormalizedName] IS NOT NULL"); b.ToTable("AspNetRoles"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("ClaimType") .HasColumnType("nvarchar(max)"); b.Property<string>("ClaimValue") .HasColumnType("nvarchar(max)"); b.Property<string>("RoleId") .IsRequired() .HasColumnType("nvarchar(450)"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("ClaimType") .HasColumnType("nvarchar(max)"); b.Property<string>("ClaimValue") .HasColumnType("nvarchar(max)"); b.Property<string>("UserId") .IsRequired() .HasColumnType("nvarchar(450)"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("AspNetUserClaims"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => { b.Property<string>("LoginProvider") .HasMaxLength(128) .HasColumnType("nvarchar(128)"); b.Property<string>("ProviderKey") .HasMaxLength(128) .HasColumnType("nvarchar(128)"); b.Property<string>("ProviderDisplayName") .HasColumnType("nvarchar(max)"); b.Property<string>("UserId") .IsRequired() .HasColumnType("nvarchar(450)"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("AspNetUserLogins"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => { b.Property<string>("UserId") .HasColumnType("nvarchar(450)"); b.Property<string>("RoleId") .HasColumnType("nvarchar(450)"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("AspNetUserRoles"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => { b.Property<string>("UserId") .HasColumnType("nvarchar(450)"); b.Property<string>("LoginProvider") .HasMaxLength(128) .HasColumnType("nvarchar(128)"); b.Property<string>("Name") .HasMaxLength(128) .HasColumnType("nvarchar(128)"); b.Property<string>("Value") .HasColumnType("nvarchar(max)"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("AspNetUserTokens"); }); modelBuilder.Entity("MyRecipes2.Server.Models.ApplicationUser", b => { b.Property<string>("Id") .HasColumnType("nvarchar(450)"); b.Property<int>("AccessFailedCount") .HasColumnType("int"); b.Property<string>("Bio") .HasColumnType("nvarchar(max)"); b.Property<string>("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("nvarchar(max)"); b.Property<string>("Email") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property<bool>("EmailConfirmed") .HasColumnType("bit"); b.Property<int?>("ImageId") .HasColumnType("int"); b.Property<bool>("LockoutEnabled") .HasColumnType("bit"); b.Property<DateTimeOffset?>("LockoutEnd") .HasColumnType("datetimeoffset"); b.Property<string>("NormalizedEmail") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property<string>("NormalizedUserName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.Property<string>("PasswordHash") .HasColumnType("nvarchar(max)"); b.Property<string>("PhoneNumber") .HasColumnType("nvarchar(max)"); b.Property<bool>("PhoneNumberConfirmed") .HasColumnType("bit"); b.Property<string>("ProfileImage") .HasColumnType("nvarchar(max)"); b.Property<string>("SecurityStamp") .HasColumnType("nvarchar(max)"); b.Property<bool>("TwoFactorEnabled") .HasColumnType("bit"); b.Property<string>("UserName") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); b.HasKey("Id"); b.HasIndex("ImageId"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex") .HasFilter("[NormalizedUserName] IS NOT NULL"); b.ToTable("AspNetUsers"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Comment", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("CreatedById") .HasColumnType("nvarchar(450)"); b.Property<DateTime>("CreatedDateTime") .HasColumnType("datetime2"); b.Property<int?>("RecipeId") .HasColumnType("int"); b.Property<string>("Text") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("RecipeId"); b.ToTable("Comments"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Image", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("Base64FileEncode") .HasColumnType("nvarchar(max)"); b.Property<string>("MimeType") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("Images"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Ingredient", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<double>("Calories") .HasColumnType("float"); b.Property<string>("Name") .HasColumnType("nvarchar(max)"); b.Property<double>("Quantity") .HasColumnType("float"); b.Property<int?>("RecipeId") .HasColumnType("int"); b.Property<int>("Unit") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("RecipeId"); b.ToTable("Ingredients"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Like", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("LikedById") .HasColumnType("nvarchar(450)"); b.Property<int?>("RecipeId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("LikedById"); b.HasIndex("RecipeId"); b.ToTable("Likes"); }); modelBuilder.Entity("MyRecipes2.Server.Models.MealType", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("Name") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.ToTable("MealTypes"); }); modelBuilder.Entity("MyRecipes2.Server.Models.MethodStep", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<int?>("RecipeId") .HasColumnType("int"); b.Property<string>("Text") .HasColumnType("nvarchar(max)"); b.HasKey("Id"); b.HasIndex("RecipeId"); b.ToTable("MethodSteps"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Recipe", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("CreatedById") .HasColumnType("nvarchar(450)"); b.Property<DateTime>("CreatedDateTime") .HasColumnType("datetime2"); b.Property<double>("Estimated_Cost") .HasColumnType("float"); b.Property<int?>("ImageId") .HasColumnType("int"); b.Property<DateTime>("LastModified") .HasColumnType("datetime2"); b.Property<string>("Name") .HasColumnType("nvarchar(max)"); b.Property<int?>("RecipeId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("ImageId"); b.HasIndex("RecipeId"); b.ToTable("Recipes"); }); modelBuilder.Entity("MyRecipes2.Server.Models.RecipeMealType", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<int?>("MealTypeId") .HasColumnType("int"); b.Property<int?>("RecipeId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("MealTypeId"); b.HasIndex("RecipeId"); b.ToTable("RecipeMealType"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Subscription", b => { b.Property<int>("Id") .ValueGeneratedOnAdd() .HasColumnType("int") .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); b.Property<string>("SubscribedId") .HasColumnType("nvarchar(450)"); b.Property<string>("SubscriberId") .HasColumnType("nvarchar(450)"); b.Property<DateTime>("TimeSubscribed") .HasColumnType("datetime2"); b.HasKey("Id"); b.HasIndex("SubscribedId"); b.HasIndex("SubscriberId"); b.ToTable("Subscriptions"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("MyRecipes2.Server.Models.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("MyRecipes2.Server.Models.ApplicationUser", b => { b.HasOne("MyRecipes2.Server.Models.Image", "Image") .WithMany() .HasForeignKey("ImageId"); b.Navigation("Image"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Comment", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", "CreatedBy") .WithMany() .HasForeignKey("CreatedById"); b.HasOne("MyRecipes2.Server.Models.Recipe", "Recipe") .WithMany("Comments") .HasForeignKey("RecipeId"); b.Navigation("CreatedBy"); b.Navigation("Recipe"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Ingredient", b => { b.HasOne("MyRecipes2.Server.Models.Recipe", "Recipe") .WithMany("Ingredients") .HasForeignKey("RecipeId"); b.Navigation("Recipe"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Like", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", "LikedBy") .WithMany() .HasForeignKey("LikedById"); b.HasOne("MyRecipes2.Server.Models.Recipe", "Recipe") .WithMany("Likes") .HasForeignKey("RecipeId"); b.Navigation("LikedBy"); b.Navigation("Recipe"); }); modelBuilder.Entity("MyRecipes2.Server.Models.MethodStep", b => { b.HasOne("MyRecipes2.Server.Models.Recipe", null) .WithMany("Method") .HasForeignKey("RecipeId"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Recipe", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", "CreatedBy") .WithMany() .HasForeignKey("CreatedById"); b.HasOne("MyRecipes2.Server.Models.Image", "Image") .WithMany() .HasForeignKey("ImageId"); b.HasOne("MyRecipes2.Server.Models.Recipe", null) .WithMany("Recommendations") .HasForeignKey("RecipeId"); b.Navigation("CreatedBy"); b.Navigation("Image"); }); modelBuilder.Entity("MyRecipes2.Server.Models.RecipeMealType", b => { b.HasOne("MyRecipes2.Server.Models.MealType", "MealType") .WithMany() .HasForeignKey("MealTypeId"); b.HasOne("MyRecipes2.Server.Models.Recipe", null) .WithMany("RecipeMealTypes") .HasForeignKey("RecipeId"); b.Navigation("MealType"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Subscription", b => { b.HasOne("MyRecipes2.Server.Models.ApplicationUser", "Subscribed") .WithMany() .HasForeignKey("SubscribedId"); b.HasOne("MyRecipes2.Server.Models.ApplicationUser", "Subscriber") .WithMany() .HasForeignKey("SubscriberId"); b.Navigation("Subscribed"); b.Navigation("Subscriber"); }); modelBuilder.Entity("MyRecipes2.Server.Models.Recipe", b => { b.Navigation("Comments"); b.Navigation("Ingredients"); b.Navigation("Likes"); b.Navigation("Method"); b.Navigation("RecipeMealTypes"); b.Navigation("Recommendations"); }); #pragma warning restore 612, 618 } } }