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