From 8faebbd63cf19fd21947c1f98ac80cc2e714c5ba Mon Sep 17 00:00:00 2001 From: Sergey Chebotar Date: Wed, 1 Feb 2023 07:49:31 +0300 Subject: Add one to many relations --- Migrations/20230131125316_Init.Designer.cs | 79 ------------------------------ Migrations/20230131125316_Init.cs | 63 ------------------------ Migrations/20230201044832_Init.Designer.cs | 79 ++++++++++++++++++++++++++++++ Migrations/20230201044832_Init.cs | 63 ++++++++++++++++++++++++ Models/DataContext.cs | 5 ++ 5 files changed, 147 insertions(+), 142 deletions(-) delete mode 100644 Migrations/20230131125316_Init.Designer.cs delete mode 100644 Migrations/20230131125316_Init.cs create mode 100644 Migrations/20230201044832_Init.Designer.cs create mode 100644 Migrations/20230201044832_Init.cs diff --git a/Migrations/20230131125316_Init.Designer.cs b/Migrations/20230131125316_Init.Designer.cs deleted file mode 100644 index 5bfcf94..0000000 --- a/Migrations/20230131125316_Init.Designer.cs +++ /dev/null @@ -1,79 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using MyDarling.Models; - -#nullable disable - -namespace MyDarling.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20230131125316_Init")] - partial class Init - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "7.0.2"); - - modelBuilder.Entity("MyDarling.Models.Figure", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); - - b.Property("FilePath") - .IsRequired() - .HasColumnType("TEXT"); - - b.Property("UnderwearBundleId") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("UnderwearBundleId"); - - b.ToTable("Figures"); - }); - - modelBuilder.Entity("MyDarling.Models.UnderwearBundle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); - - b.Property("Description") - .IsRequired() - .HasColumnType("TEXT"); - - b.Property("Name") - .IsRequired() - .HasColumnType("TEXT"); - - b.Property("Price") - .HasColumnType("TEXT"); - - b.HasKey("Id"); - - b.ToTable("UnderwearBundles"); - }); - - modelBuilder.Entity("MyDarling.Models.Figure", b => - { - b.HasOne("MyDarling.Models.UnderwearBundle", null) - .WithMany("Figures") - .HasForeignKey("UnderwearBundleId"); - }); - - modelBuilder.Entity("MyDarling.Models.UnderwearBundle", b => - { - b.Navigation("Figures"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Migrations/20230131125316_Init.cs b/Migrations/20230131125316_Init.cs deleted file mode 100644 index fe709a8..0000000 --- a/Migrations/20230131125316_Init.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace MyDarling.Migrations -{ - /// - public partial class Init : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "UnderwearBundles", - columns: table => new - { - Id = table.Column(type: "INTEGER", nullable: false) - .Annotation("Sqlite:Autoincrement", true), - Name = table.Column(type: "TEXT", nullable: false), - Description = table.Column(type: "TEXT", nullable: false), - Price = table.Column(type: "TEXT", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_UnderwearBundles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Figures", - columns: table => new - { - Id = table.Column(type: "INTEGER", nullable: false) - .Annotation("Sqlite:Autoincrement", true), - FilePath = table.Column(type: "TEXT", nullable: false), - UnderwearBundleId = table.Column(type: "INTEGER", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Figures", x => x.Id); - table.ForeignKey( - name: "FK_Figures_UnderwearBundles_UnderwearBundleId", - column: x => x.UnderwearBundleId, - principalTable: "UnderwearBundles", - principalColumn: "Id"); - }); - - migrationBuilder.CreateIndex( - name: "IX_Figures_UnderwearBundleId", - table: "Figures", - column: "UnderwearBundleId"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Figures"); - - migrationBuilder.DropTable( - name: "UnderwearBundles"); - } - } -} diff --git a/Migrations/20230201044832_Init.Designer.cs b/Migrations/20230201044832_Init.Designer.cs new file mode 100644 index 0000000..6b0762e --- /dev/null +++ b/Migrations/20230201044832_Init.Designer.cs @@ -0,0 +1,79 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using MyDarling.Models; + +#nullable disable + +namespace MyDarling.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20230201044832_Init")] + partial class Init + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "7.0.2"); + + modelBuilder.Entity("MyDarling.Models.Figure", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FilePath") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("UnderwearBundleId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("UnderwearBundleId"); + + b.ToTable("Figures"); + }); + + modelBuilder.Entity("MyDarling.Models.UnderwearBundle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Description") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Price") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("UnderwearBundles"); + }); + + modelBuilder.Entity("MyDarling.Models.Figure", b => + { + b.HasOne("MyDarling.Models.UnderwearBundle", null) + .WithMany("Figures") + .HasForeignKey("UnderwearBundleId"); + }); + + modelBuilder.Entity("MyDarling.Models.UnderwearBundle", b => + { + b.Navigation("Figures"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Migrations/20230201044832_Init.cs b/Migrations/20230201044832_Init.cs new file mode 100644 index 0000000..fe709a8 --- /dev/null +++ b/Migrations/20230201044832_Init.cs @@ -0,0 +1,63 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace MyDarling.Migrations +{ + /// + public partial class Init : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "UnderwearBundles", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + Name = table.Column(type: "TEXT", nullable: false), + Description = table.Column(type: "TEXT", nullable: false), + Price = table.Column(type: "TEXT", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_UnderwearBundles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Figures", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + FilePath = table.Column(type: "TEXT", nullable: false), + UnderwearBundleId = table.Column(type: "INTEGER", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Figures", x => x.Id); + table.ForeignKey( + name: "FK_Figures_UnderwearBundles_UnderwearBundleId", + column: x => x.UnderwearBundleId, + principalTable: "UnderwearBundles", + principalColumn: "Id"); + }); + + migrationBuilder.CreateIndex( + name: "IX_Figures_UnderwearBundleId", + table: "Figures", + column: "UnderwearBundleId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Figures"); + + migrationBuilder.DropTable( + name: "UnderwearBundles"); + } + } +} diff --git a/Models/DataContext.cs b/Models/DataContext.cs index 50adf12..c874420 100644 --- a/Models/DataContext.cs +++ b/Models/DataContext.cs @@ -15,6 +15,11 @@ namespace MyDarling.Models opts.UseSqlite(configuration.GetConnectionString("MyDarlingDb")); } + protected override void OnModelCreating(ModelBuilder builder) + { + builder.Entity().HasMany(b => b.Figures).WithOne(); + } + public DbSet UnderwearBundles => Set(); public DbSet
Figures => Set
(); } -- cgit v1.2.3