我正在尝试设置一些数据库表,并为教师,学生,课程,学期的主题创建一些模型类。这适用于MVC3 Web App。如果我有一个userprofile实体和模型类。如果我在userprofile模型类中创建了一个分类枚举,并且该枚举将是教师或学生,那么它是否有效。 Idk如果这可行。我真的不知道如何做到这一点b / c我将需要学生注册的课程和老师,我需要他/她正在教授和教授的课程。任何建议将不胜感激。
例如,在userprofile类中可能有这样的东西:
class UserProfile {
public Guid UserID { get; set; }
public string fname { get; set; }
public string lname { get; set; }
public Classification classification { get; set; }
}
public enum Classification {
Student, Teacher
}
答案 0 :(得分:5)
您的情况是为派生类型量身定做的。
UserProfile
应该是抽象的,有两种称为Teacher
和Student
的具体类型。
这些继承的类型可以各自具有不同的属性。
答案 1 :(得分:1)
你的设计对我来说很好看。
您也可以使用布尔变量,例如UserIsPatient
或UserIsTeacher
,但是通过使用枚举,您创建了一些可以在以后更改需求时轻松扩展的内容 - 例如,如果你想增加学生老师,实习生或其他什么。