1

映画、パフォーマンス、スポーツイベントなど、いくつかのイベントがあります。最初に、基本クラス(イベント)を作成し、イベントタイプの別のクラスを作成したいと思います:映画クラス、スポーツクラス....
しかし、特定のフィールドがないため、多くのクラスは空です。したがって、1 つのクラスを作成Eventし、別のクラスを作成することにしましEventTypeた。そして、1 つのクラスですべてのイベントのすべてのフィールドを作成します。

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。コントローラーのアクションでイベントの種類を判断し、適切なビューを表示することにしました。そして、7 つのイベント タイプと 7 つのビューがあるとします。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 に答える