using System.Data.Entity;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
public static void Main()
using (var ctx = new SchoolContext())
var g1 = new Grade() {GradeName = "g1"};
var g2 = new Grade() {GradeName = "g2"};
var stud = new Student() {StudentName = "Bill", Grade = g1};
StuCount = g.Students.Count()
FiddleHelper.WriteTable(query.ToList());
public class SchoolContext : DbContext
public SchoolContext(): base(FiddleHelper.GetConnectionStringSqlServer())
public DbSet<Student> Students { get; set;}
public DbSet<Grade> Grades { get; set;}
public DbSet<Customer> Customers {get;set;}
public DbSet<Order> Orders {get;set;}
public int Id { get; set; }
public string FullName { get; set; }
public virtual System.Data.Entity.DbSet<Order> Orders { get; set; }
public int Id { get; set; }
public int CustomerId { get; set; }
public string Title { get; set; }
[ForeignKey("CustomerId")]
public virtual Customer Customer { get; set; }
public int StudentID {get; set;}
public string StudentName { get; set; }
public Grade Grade{ get; set;}
public int GradeId { get; set;}
public string GradeName { get; set;}
public ICollection<Student> Students { get; set;}