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