diff --git a/Entities/Contracts/Class.cs b/Entities/Contracts/Class.cs index 45edfee..68d1269 100644 --- a/Entities/Contracts/Class.cs +++ b/Entities/Contracts/Class.cs @@ -2,9 +2,6 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Entities.Contracts { @@ -12,20 +9,19 @@ namespace Entities.Contracts public class Class { [Key] - [Column("id")] - public Guid Id { get; set; } + [Column("class_id")] + public int ClassId { get; set; } - [Column("grade")] - public byte Grade { get; set; } + [Column("grade_id")] + public int GradeId { get; set; } + public Grade Grade { get; set; } - [Column("class")] - public byte Number { get; set; } - - [Column("description")] - public string Description { get; set; } + [Column("class_name")] + [MaxLength(30)] + public string ClassName { get; set; } [Column("head_teacher_id")] - public Guid? HeadTeacherId { get; set; } + public int? HeadTeacherId { get; set; } public User HeadTeacher { get; set; } [Column("created_at")] @@ -44,12 +40,11 @@ namespace Entities.Contracts public Class() { - Id = Guid.NewGuid(); - Grade = 0; - Number = 0; ClassStudents = new HashSet(); ClassTeachers = new HashSet(); AssignmentClasses = new HashSet(); + CreatedAt = DateTime.Now; + UpdatedAt = DateTime.Now; } } } diff --git a/Entities/Contracts/Grade.cs b/Entities/Contracts/Grade.cs new file mode 100644 index 0000000..a98be1e --- /dev/null +++ b/Entities/Contracts/Grade.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Entities.Contracts +{ + [Table("grades")] + public class Grade + { + [Key] + [Column("grade_id")] + public int GradeId { get; set; } + + [Column("school_id")] + public int SchoolId { get; set; } + public School School { get; set; } + + [Column("grade_name")] + [MaxLength(20)] + public string GradeName { get; set; } + + [Column("grade_level")] + public int GradeLevel { get; set; } + + // Navigation Properties + public ICollection Classes { get; set; } + + public Grade() + { + Classes = new HashSet(); + } + } +} diff --git a/Entities/Contracts/School.cs b/Entities/Contracts/School.cs new file mode 100644 index 0000000..d6358f8 --- /dev/null +++ b/Entities/Contracts/School.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace Entities.Contracts +{ + [Table("schools")] + public class School + { + [Key] + [Column("school_id")] + public int SchoolId { get; set; } + + [Column("school_name")] + [MaxLength(50)] + public string SchoolName { get; set; } + + [Column("address")] + [MaxLength(100)] + public string Address { get; set; } + + [Column("create_time")] + public DateTime CreateTime { get; set; } + + // Navigation Properties + public ICollection Grades { get; set; } + + public School() + { + Grades = new HashSet(); + CreateTime = DateTime.Now; + } + } +}