Lathund för att skapa en databas med Entity Framework och Code First

Relationer

  1. One-to-One

    Exempeldata

    Locker
    Student_Id Color
    2 Röd
    3 Orange
    1 Röd
    4 Blå
    Student
    Id Name Phone
    1 Osvald 0719-19323232
    2 Kalle 0722-1314156
    3 Lisa 0700-0000000
    4 Pelle 08-08080808

    Klasser som behövs för att skapa entiteterna

    public class Locker
    {
        //ForeignKey innebär här att Student måste vara skapad före Locker
        [Key, ForeignKey("Student")]
        public int Student_Id { get; set; }
    
        public virtual Student Student { get; set; }
    
        public Locker()
        {
        }
    }
    Locker med relation till Student
    public class Student
    {
        [Key]
        public int Id { get; set; }
    
        public virtual Locker Locker { get; set; }
    
        public Student()
        {
        }
    }
    Student med relation Locker
  2. One-to-Many

    Exempeldata

    Student
    Id Name Phone
    1 Osvald 0719-19323232
    2 Kalle 0722-1314156
    3 Lisa 0700-0000000
    4 Pelle 08-08080808
    Class
    Id Student_Id Subject
    1 1 Matematik
    2 3 Matematik
    3 4 Engelska
    4 1 Kemi
    5 2 Matematik
    6 1 Fysik
    7 2 Fysik

    Klasser som behövs för att skapa entiteterna

    public class Student
    {
        [Key]
        public int Id { get; set; }	
    		
        public virtual ICollection<Class> Classes { get; set; }
    
        public Student()
        {
            this.Classes = new Collection<Class>();
        }
    }
    Student med relation till Class
    public class Class 
    {
        [Key]
        public int Id { get; set; }
    	
        [ForeignKey("Student")]
        public int Student_Id { get; set; }
    
        public virtual Student Student { get; set; }
    
        public Class()
        {
        }
    }
    Class med relation till Student
  3. Many-to-Many

    Exempeldata

    Teacher
    Id Name
    1 Rosa
    2 Kalle
    3 Pelle
    4 Lisa
    5 Olle
    6 Goliat
    7 Mowgli
    8 Natalie
    9 Samuel
    Teaches
    Id Teacher_Id Class_Id
    1 8 1
    2 3 4
    3 1 4
    4 1 4
    5 6 2
    6 6 3
    7 2 2
    Class
    Id Student_Id Subject
    1 1 Matematik
    2 3 Matematik
    3 4 Engelska
    4 1 Kemi
    5 2 Matematik
    6 1 Fysik
    7 2 Fysik

    Klasser som behövs för att skapa entiteterna

    public class Teacher
    {
        [Key]
        public int Id { get; set; }
    
        public virtual ICollection<Class> Classes { get; set; }
    
        public Teacher()
        {
            this.Classes = new Collection<Class>();
        }
    }
    Teacher med relation till Class
    public class Class
    {
        [Key]
        public int Id { get; set; }
    
        public virtual ICollection<Teacher> Teachers { get; set; }
    
        public Class()
        {
            this.Students = new Collection<Teacher>();
        }
    }
    Class med relation till Teacher
Annonser