public abstract class Person { public int PersonID { get; set; } public string Name { get; set; } } public class StaffMember : Person { public string BadgeNumber { get; set; } [ForeignKey("StaffMemberID")] public virtual ICollectionAppointments { get; set; } } public class Client : Person { [ForeignKey("ClientID")] public virtual ICollection Appointments { get; set; } } public class MyContext : DbContext { public DbSet People { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } public void Seed(MyContext context) { Client c1 = new Client { Name = "Steve Client" }; StaffMember sm1 = new StaffMember { Name = "Staff 1", BadgeNumber = "1234" }; StaffMember sm2 = new StaffMember { Name = "Staff 2", BadgeNumber = "5678" }; context.People.Add(c1); context.People.Add(sm1); context.SaveChanges(); } public MyContext() { Database.SetInitializer (new DropCreateDatabaseAlways ()); this.Seed(this); } }
http://sgordondeveloper.blogspot.ca/2013/02/model-inheritance-with-relationship-in.html
No comments:
Post a Comment