5 changed files with 324 additions and 0 deletions
@ -0,0 +1,85 @@
|
||||
// <auto-generated /> |
||||
using EVABackend.Models; |
||||
using Microsoft.EntityFrameworkCore; |
||||
using Microsoft.EntityFrameworkCore.Infrastructure; |
||||
using Microsoft.EntityFrameworkCore.Migrations; |
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
||||
|
||||
namespace EVABackend.Migrations |
||||
{ |
||||
[DbContext(typeof(EVAContext))] |
||||
[Migration("20190515103649_TestCreate1")] |
||||
partial class TestCreate1 |
||||
{ |
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
||||
{ |
||||
#pragma warning disable 612, 618 |
||||
modelBuilder |
||||
.HasAnnotation("ProductVersion", "2.1.8-servicing-32085"); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.Kurs", b => |
||||
{ |
||||
b.Property<int>("Id") |
||||
.ValueGeneratedOnAdd(); |
||||
|
||||
b.Property<int>("Kuendigungsfrist"); |
||||
|
||||
b.Property<int>("Laufzeit"); |
||||
|
||||
b.Property<string>("Name") |
||||
.IsRequired(); |
||||
|
||||
b.Property<decimal>("Preis"); |
||||
|
||||
b.Property<int>("UnterrichtsTyp"); |
||||
|
||||
b.HasKey("Id"); |
||||
|
||||
b.ToTable("Kurse"); |
||||
}); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.KursSchueler", b => |
||||
{ |
||||
b.Property<int>("SchuelerId"); |
||||
|
||||
b.Property<int>("KursId"); |
||||
|
||||
b.HasKey("SchuelerId", "KursId"); |
||||
|
||||
b.HasIndex("KursId"); |
||||
|
||||
b.ToTable("KursSchueler"); |
||||
}); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.Schueler", b => |
||||
{ |
||||
b.Property<int>("Id") |
||||
.ValueGeneratedOnAdd(); |
||||
|
||||
b.Property<string>("Name") |
||||
.IsRequired(); |
||||
|
||||
b.Property<string>("Vorname") |
||||
.IsRequired(); |
||||
|
||||
b.HasKey("Id"); |
||||
|
||||
b.ToTable("Schueler"); |
||||
}); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.KursSchueler", b => |
||||
{ |
||||
b.HasOne("EVABackend.Models.Kurs", "Kurs") |
||||
.WithMany("KursSchueler") |
||||
.HasForeignKey("KursId") |
||||
.OnDelete(DeleteBehavior.Cascade); |
||||
|
||||
b.HasOne("EVABackend.Models.Schueler", "Schueler") |
||||
.WithMany("KursSchueler") |
||||
.HasForeignKey("SchuelerId") |
||||
.OnDelete(DeleteBehavior.Cascade); |
||||
}); |
||||
#pragma warning restore 612, 618 |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,82 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations; |
||||
|
||||
namespace EVABackend.Migrations |
||||
{ |
||||
public partial class TestCreate1 : Migration |
||||
{ |
||||
protected override void Up(MigrationBuilder migrationBuilder) |
||||
{ |
||||
migrationBuilder.CreateTable( |
||||
name: "Kurse", |
||||
columns: table => new |
||||
{ |
||||
Id = table.Column<int>(nullable: false) |
||||
.Annotation("Sqlite:Autoincrement", true), |
||||
Name = table.Column<string>(nullable: false), |
||||
Preis = table.Column<decimal>(nullable: false), |
||||
Laufzeit = table.Column<int>(nullable: false), |
||||
Kuendigungsfrist = table.Column<int>(nullable: false), |
||||
UnterrichtsTyp = table.Column<int>(nullable: false) |
||||
}, |
||||
constraints: table => |
||||
{ |
||||
table.PrimaryKey("PK_Kurse", x => x.Id); |
||||
}); |
||||
|
||||
migrationBuilder.CreateTable( |
||||
name: "Schueler", |
||||
columns: table => new |
||||
{ |
||||
Id = table.Column<int>(nullable: false) |
||||
.Annotation("Sqlite:Autoincrement", true), |
||||
Name = table.Column<string>(nullable: false), |
||||
Vorname = table.Column<string>(nullable: false) |
||||
}, |
||||
constraints: table => |
||||
{ |
||||
table.PrimaryKey("PK_Schueler", x => x.Id); |
||||
}); |
||||
|
||||
migrationBuilder.CreateTable( |
||||
name: "KursSchueler", |
||||
columns: table => new |
||||
{ |
||||
SchuelerId = table.Column<int>(nullable: false), |
||||
KursId = table.Column<int>(nullable: false) |
||||
}, |
||||
constraints: table => |
||||
{ |
||||
table.PrimaryKey("PK_KursSchueler", x => new { x.SchuelerId, x.KursId }); |
||||
table.ForeignKey( |
||||
name: "FK_KursSchueler_Kurse_KursId", |
||||
column: x => x.KursId, |
||||
principalTable: "Kurse", |
||||
principalColumn: "Id", |
||||
onDelete: ReferentialAction.Cascade); |
||||
table.ForeignKey( |
||||
name: "FK_KursSchueler_Schueler_SchuelerId", |
||||
column: x => x.SchuelerId, |
||||
principalTable: "Schueler", |
||||
principalColumn: "Id", |
||||
onDelete: ReferentialAction.Cascade); |
||||
}); |
||||
|
||||
migrationBuilder.CreateIndex( |
||||
name: "IX_KursSchueler_KursId", |
||||
table: "KursSchueler", |
||||
column: "KursId"); |
||||
} |
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder) |
||||
{ |
||||
migrationBuilder.DropTable( |
||||
name: "KursSchueler"); |
||||
|
||||
migrationBuilder.DropTable( |
||||
name: "Kurse"); |
||||
|
||||
migrationBuilder.DropTable( |
||||
name: "Schueler"); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,83 @@
|
||||
// <auto-generated /> |
||||
using EVABackend.Models; |
||||
using Microsoft.EntityFrameworkCore; |
||||
using Microsoft.EntityFrameworkCore.Infrastructure; |
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
||||
|
||||
namespace EVABackend.Migrations |
||||
{ |
||||
[DbContext(typeof(EVAContext))] |
||||
partial class EVAContextModelSnapshot : ModelSnapshot |
||||
{ |
||||
protected override void BuildModel(ModelBuilder modelBuilder) |
||||
{ |
||||
#pragma warning disable 612, 618 |
||||
modelBuilder |
||||
.HasAnnotation("ProductVersion", "2.1.8-servicing-32085"); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.Kurs", b => |
||||
{ |
||||
b.Property<int>("Id") |
||||
.ValueGeneratedOnAdd(); |
||||
|
||||
b.Property<int>("Kuendigungsfrist"); |
||||
|
||||
b.Property<int>("Laufzeit"); |
||||
|
||||
b.Property<string>("Name") |
||||
.IsRequired(); |
||||
|
||||
b.Property<decimal>("Preis"); |
||||
|
||||
b.Property<int>("UnterrichtsTyp"); |
||||
|
||||
b.HasKey("Id"); |
||||
|
||||
b.ToTable("Kurse"); |
||||
}); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.KursSchueler", b => |
||||
{ |
||||
b.Property<int>("SchuelerId"); |
||||
|
||||
b.Property<int>("KursId"); |
||||
|
||||
b.HasKey("SchuelerId", "KursId"); |
||||
|
||||
b.HasIndex("KursId"); |
||||
|
||||
b.ToTable("KursSchueler"); |
||||
}); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.Schueler", b => |
||||
{ |
||||
b.Property<int>("Id") |
||||
.ValueGeneratedOnAdd(); |
||||
|
||||
b.Property<string>("Name") |
||||
.IsRequired(); |
||||
|
||||
b.Property<string>("Vorname") |
||||
.IsRequired(); |
||||
|
||||
b.HasKey("Id"); |
||||
|
||||
b.ToTable("Schueler"); |
||||
}); |
||||
|
||||
modelBuilder.Entity("EVABackend.Models.KursSchueler", b => |
||||
{ |
||||
b.HasOne("EVABackend.Models.Kurs", "Kurs") |
||||
.WithMany("KursSchueler") |
||||
.HasForeignKey("KursId") |
||||
.OnDelete(DeleteBehavior.Cascade); |
||||
|
||||
b.HasOne("EVABackend.Models.Schueler", "Schueler") |
||||
.WithMany("KursSchueler") |
||||
.HasForeignKey("SchuelerId") |
||||
.OnDelete(DeleteBehavior.Cascade); |
||||
}); |
||||
#pragma warning restore 612, 618 |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,74 @@
|
||||
using Microsoft.EntityFrameworkCore; |
||||
using System.Collections.Generic; |
||||
using System.ComponentModel.DataAnnotations; |
||||
using System.ComponentModel.DataAnnotations.Schema; |
||||
|
||||
namespace EVABackend.Models |
||||
{ |
||||
public class EVAContext : DbContext |
||||
{ |
||||
public DbSet<Schueler> Schueler { get; set; } |
||||
public DbSet<Kurs> Kurse { get; set; } |
||||
public DbSet<KursSchueler> KursSchueler { get; set; } |
||||
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) |
||||
{ |
||||
optionsBuilder.UseSqlite("Data Source=eva.db"); |
||||
} |
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder) |
||||
{ |
||||
modelBuilder.Entity<KursSchueler>() |
||||
.HasKey(c => new { c.SchuelerId, c.KursId }); |
||||
|
||||
modelBuilder.Entity<KursSchueler>() |
||||
.HasOne(c => c.Schueler) |
||||
.WithMany(c => c.KursSchueler) |
||||
.HasForeignKey(c => c.SchuelerId); |
||||
|
||||
modelBuilder.Entity<KursSchueler>() |
||||
.HasOne(c => c.Kurs) |
||||
.WithMany(c => c.KursSchueler) |
||||
.HasForeignKey(c => c.KursId); |
||||
} |
||||
} |
||||
|
||||
public class Schueler |
||||
{ |
||||
[Key] |
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] |
||||
public int Id { get; set; } |
||||
[Required] |
||||
public string Name { get; set; } |
||||
[Required] |
||||
public string Vorname { get; set; } |
||||
public virtual ICollection<KursSchueler> KursSchueler { get; set; } |
||||
} |
||||
|
||||
public class Kurs |
||||
{ |
||||
[Key] |
||||
[DatabaseGenerated(DatabaseGeneratedOption.Identity)] |
||||
public int Id { get; set; } |
||||
[Required] |
||||
public string Name { get; set; } |
||||
public decimal Preis { get; set; } |
||||
public int Laufzeit { get; set; } |
||||
public int Kuendigungsfrist { get; set; } |
||||
public UnterrichtTyp UnterrichtsTyp { get; set; } |
||||
public virtual ICollection<KursSchueler> KursSchueler { get; set; } |
||||
} |
||||
|
||||
public class KursSchueler |
||||
{ |
||||
public int SchuelerId { get; set; } |
||||
public int KursId { get; set; } |
||||
public virtual Schueler Schueler { get; set; } |
||||
public virtual Kurs Kurs { get; set; } |
||||
} |
||||
|
||||
public enum UnterrichtTyp |
||||
{ |
||||
Einzel, Gruppe |
||||
} |
||||
} |
||||
Binary file not shown.
Loading…
Reference in new issue