Когда я думаю о традиционном многоуровневом дизайне приложений, я часто думаю о трех уровнях:
- Самый нижний уровень, который фактически общается с базой данных (назовем его «уровнем доступа к данным»). Он возвращает объекты (в той или иной форме) на следующий уровень.
- Слой над самым нижним уровнем (средний уровень, который я буду называть «уровнем данных») берет объекты из уровня доступа к данным и возвращает объекты домена на бизнес-уровень.
- Бизнес-уровень берет объекты домена из уровня данных и выполняет с ними действия.
Это определенно чрезмерно упрощенное объяснение и, вероятно, невероятно неверное! :)
Очевидно, что LINQ to SQL является ORM, уровень доступа к данным создает объекты LINQ to SQL. Каков правильный образец для передачи этих объектов на средний и верхний слои?