我有一个抽象的 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?
我不确定开关是否是最好的主意,但我也不确定如何正确使用字典将数据检索和对象创建映射到特定类型。
我的第二个问题涉及保存数据 - 从业务对象到 L2S 表 - 基本上与上述相同的问题
我希望这是有道理的 :)