抽象 EventBase クラスといくつかの継承されたイベント タイプ、および Event クラスがあります。各イベント タイプには、固有の列があります。
私のデータ層には、単純に次のことを行う GetEvents メソッドがあります。
from e in db.Events
select new Event {...values...};
EventType は、EventTypes テーブルに一致する列挙型です
GetEvents(EventType type) と GetEvent(int id, EventType type) のようなことをしたい..
from e in GetEvents()
where e.TypeId == (int)type
select new TypeSpecified {...values for Event + Type-specific fields...};
// Determine what type it is
// Switch statement? Dictionary?
スイッチが最適なアイデアかどうかはわかりませんが、ディクショナリを正しく使用してデータの取得とオブジェクトの作成を特定の型にマップする方法もわかりません。
2 番目の質問は、ビジネス オブジェクトから L2S テーブルへのデータの保存に関するものです。基本的には上記と同じ質問です。
これが理にかなっていることを願っています:)