oop_NFS_Andreas/Plattform/Plattform/DB/Context.cs

62 lines
2.0 KiB
C#

using System.Data.Entity;
using Plattform.Models;
using Plattform.Helper;
using Plattform.AirlineService;
namespace Plattform.DB
{
public class Context : DbContext
{
public Context() : base("PlattformDB") { }
public DbSet<AirlineService.City> Cities { get; set; }
public DbSet<AirlineService.Airline> Airlines { get; set; }
public DbSet<AirlineService.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<AirlineService.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<AirlineService.City>()
.Property(c => c.Name)
.HasMaxLength(50)
.IsRequired();
modelBuilder.Entity<AirlineService.City>()
.Property(c => c.ZipCode)
.IsRequired()
.IsUnique();
modelBuilder.Entity<AirlineService.Airline>()
.Property(a => a.AirlineID)
.IsRequired()
.IsUnique();
modelBuilder.Entity<AirlineService.Airline>()
.Property(a => a.Name)
.IsRequired();
modelBuilder.Entity<AirlineService.Flight>()
.Property(f => f.Name)
.IsRequired();
modelBuilder.Entity<AirlineService.Flight>()
.Property(f => f.Duration)
.IsRequired();
modelBuilder.Entity<AirlineService.Flight>()
.Property(f => f.StartTime)
.IsRequired();
modelBuilder.Entity<AirlineService.Airport>()
.HasKey(f => f.ShortName);
}
}
}