public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Student != null ? Student.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Course != null ? Course.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ DateGraded.GetHashCode();
         hashCode = (hashCode * 397) ^ Mark;
         return(hashCode);
     }
 }
 protected bool Equals(Grade other)
 {
     return(Equals(Student, other.Student) && Equals(Course, other.Course) && DateGraded.Equals(other.DateGraded) && Mark == other.Mark);
 }