我有几个活动:电影,表演,体育赛事等。最初我想创建基类( event )和事件类型的单独类:电影类,体育类....
但是,许多类是空的,因为它们没有特定的字段。因此,我决定创建一个类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。你对我的数据库设计有什么看法?
感谢并为我的英语道歉。
发布于 2012-12-03 15:06:14
您应该在这里使用继承来定义一个仅具有基本属性的事件类:
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; }
}现在可以从类本身推断出类型。
https://stackoverflow.com/questions/13678558
复制相似问题