Сохранение и извлечение унаследованных типов с помощью LINQtoSQL и Business Objects - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть абстрактный класс 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 - тот же вопрос, что и выше, в основном

Надеюсь, это имеет смысл:)

1 Ответ

1 голос
/ 03 августа 2010

Страница от Рика Стрэла помогла мне настроить мой бизнес-уровень. Это может быть хорошим началом для вас тоже.

http://www.west -wind.com / блог / сообщений / 160237.aspx

Моя главная проблема заключалась в том, что я склонен чрезмерно проектировать бизнес-уровень. Так что нужно быть простым, но не простым; -)

...