60 lines
1.8 KiB
C#
60 lines
1.8 KiB
C#
using System.Data.Entity;
|
|
using Plattform.Models;
|
|
using Plattform.Helper;
|
|
|
|
namespace Plattform.DB
|
|
{
|
|
public class Context : DbContext
|
|
{
|
|
public Context() : base("PlattformDB") { }
|
|
|
|
public DbSet<City> Cities { get; set; }
|
|
public DbSet<Airline> Airlines { get; set; }
|
|
public DbSet<Flight> Flights { get; set; }
|
|
public DbSet<Hotel> Hotels { get; set; }
|
|
public DbSet<Room> Rooms { get; set; }
|
|
public DbSet<RoomType> RoomTypes { get; set; }
|
|
public DbSet<Availability> Availabilities { get; set; }
|
|
public DbSet<Airport> Airports { get; set; }
|
|
public DbSet<Gender> Genders { get; set; }
|
|
public DbSet<Salutation> Salutations { get; set; }
|
|
public DbSet<SpecialOffer> SpecialOffers { get; set; }
|
|
|
|
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<City>()
|
|
.Property(c => c.Name)
|
|
.HasMaxLength(50)
|
|
.IsRequired();
|
|
|
|
modelBuilder.Entity<City>()
|
|
.Property(c => c.ZipCode)
|
|
.IsRequired()
|
|
.IsUnique();
|
|
|
|
modelBuilder.Entity<Airline>()
|
|
.Property(a => a.AirlineID)
|
|
.IsRequired()
|
|
.IsUnique();
|
|
|
|
modelBuilder.Entity<Airline>()
|
|
.Property(a => a.Name)
|
|
.IsRequired();
|
|
|
|
modelBuilder.Entity<Flight>()
|
|
.Property(f => f.Name)
|
|
.IsRequired();
|
|
|
|
modelBuilder.Entity<Flight>()
|
|
.Property(f => f.Duration)
|
|
.IsRequired();
|
|
|
|
modelBuilder.Entity<Flight>()
|
|
.Property(f => f.StartTime)
|
|
.IsRequired();
|
|
|
|
modelBuilder.Entity<Airport>()
|
|
.HasKey(f => f.ShortName);
|
|
}
|
|
}
|
|
} |