using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
public static void Main()
using (var context = new EntityContext())
Student student = new Student()
EnrollmentDate = DateTime.Now
Teacher teacher = new Teacher()
context.People.Add(student);
context.People.Add(teacher);
var query = context.People.OfType<Student>().ToString();
Console.WriteLine(query);
public class EntityContext : DbContext
public EntityContext() : base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Person> People { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
modelBuilder.Entity<Student>().ToTable("Students");
modelBuilder.Entity<Teacher>().ToTable("Teachers");
public abstract class Person
public int Id { get; set; }
public string FullName { get; set; }
public class Student : Person
public DateTime EnrollmentDate { get; set; }
public class Teacher : Person
public DateTime HireDate { get; set; }