我有几个活动:电影,表演,体育赛事等。最初我想创建基类(Event)和事件类型的单独类:Film class,Sport class ....
但是,很多课程都是空的,因为他们没有特定的领域。因此,我决定创建一个类Event
并将类EventType
分开。并为一个类中的所有事件创建所有字段:
public class Event
{
public string Name { get; set; }
public string Description { get; set; }
public string Duration { get; set; }
public string DirectorList { get; set; }
public string ActorList { get; set; }
public string Genre { get; set; }
public EventType Type {get; set;}
...
}
public class EventType
{
public string Name {get; set;}
}
但某些类型的事件可能没有某些字段。例如,体育赛事没有ActorList
或DirectorList
。我决定在控制器的动作中确定事件的类型并显示相应的视图。假设我们有七种事件类型和七种观点。在CMS中,用户想要添加新的事件类型,但此事件类型的视图不是由我创建的。
如何允许用户创建新的事件类型并为此类型生成视图?
PS。您对我的数据库设计有何看法?
谢谢,抱歉我的英文。
答案 0 :(得分:0)
您应该在此处使用继承来定义仅包含基本属性的Event类:
public class Event
{
public string Name { get; set; }
public string Description { get; set; }
}
然后创建另一个类:
public class FilmEvent : Event
{
public string ActorList { get; set; }
public string DirectorList { get; set; }
}
现在可以从类本身推断出类型。