enum
可能ですが、手動で定義する必要があります。
これが適切な設計であるかどうかは、定義するさまざまなイベントの量と時期によって異なります。新しいイベント定義を作成し、コードを変更する必要はありませんか?その場合、enum
おそらく悪い考えでしょう。イベントIDのリストが静的で大きすぎない場合は、enum
許容可能であり、(私の意見では)さらに推奨されます。
編集:申し訳ありませんが、私が提供したソリューションは、Entity Framework 1.0ではなく、実際にはLINQtoSQLで行われた方法でした。コーヒーが足りなかったに違いない。EFで行われる方法は、部分クラスで適切に型指定されたプロパティを定義することです。
たとえば、データベースにEventType列があり、これをにマップしますenum
。以下に示すように、プロパティの名前をデフォルトからにEventType
変更しました。EventTypeInt

(出典:subbot.net)
次に、この列のGetterプロパティとSetterプロパティをprivateに設定します(おそらくEventTypeの名前を変更するために使用したプロパティマネージャーウィンドウで)。それが完了して保存されたら、次のコードを使用します。
public enum EventType
{
Unknown = 0,
Concert = 1,
Festival = 2
}
public partial class EventCalendar
{
public EventType EventType
{
get { return (EventType)EventTypeInt; }
set { EventTypeInt = (int)value; }
}
}
はい、退屈です。LINQtoSQLモデルでははるかに実用的でした。