У меня есть абстрактный класс EventBase и некоторые унаследованные типы событий, а также класс Event. Каждый тип события имеет свои уникальные столбцы.
В моем слое данных у меня есть метод GetEvents, который просто делает:
from e in db.Events
select new Event {...values...};
EventType - это перечисление, которое соответствует таблице EventTypes
Я хочу, чтобы GetEvents (тип EventType) и GetEvent (int id, тип EventType) делали что-то вроде ..
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?
Я не уверен, что переключатель - лучшая идея, но я также не уверен, как правильно использовать словарь для сопоставления поиска данных и создания объектов с определенным типом.
Мой второй вопрос касается сохранения данных - переход от Business Object к таблице L2S - тот же вопрос, что и выше, в основном
Надеюсь, это имеет смысл:)