1

我有几个活动:电影、表演、体育赛事和其他。最初我想为事件类型创建基类(事件)和单独的类:电影类,运动类....
但是,许多类是空的,因为它们没有特定的字段。因此,我决定创建一个类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;}
}

但是某些类型的事件可能没有某些字段。例如,体育赛事没有ActorListDirectorList。我决定在控制器的动作中确定事件的类型并显示适当的视图。假设我们有七种事件类型和七种视图。在 CMS 中,用户想要添加新的事件类型,但此事件类型的视图不是由我创建的。

如何允许用户创建新的事件类型并为该类型生成视图?

PS。你觉得我的数据库设计怎么样?
谢谢和对不起我的英语。

4

1 回答 1

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; }
}

现在可以从类本身推断类型。

于 2012-12-03T07:06:14.077 回答