Трехуровневая архитектура и привязка к объектам
-
10-07-2019 - |
Вопрос
В течение нескольких лет я использую трехуровневую архитектуру (уровень представления, логики и данных) для написания приложений.Обычно я использую такие инструменты, как .NetTiers, для генерации уровня данных и частично логического уровня.Все четко определено, и мне это нравится.
Теперь я вынужден использовать LINQ для объектов (похоже, что Microsoft отказалась от LINQ для SQL), и я действительно в замешательстве.Мне кажется, что код, сгенерированный LINQ для Entites, представляет собой большую смесь уровня логики и данных, над которым у меня очень мало контроля.Кроме того, мне не очень нравится тот факт, что мне приходится использовать созданные классы (сущности ...).
В конце концов, не могли бы вы поделиться своим опытом и лучшими практиками с LINQ to Entities?Есть какие-нибудь идеи, как я все еще мог бы иметь четко определенную трехуровневую архитектуру?
Спасибо!
Решение
Иэн Купер написал хорошую серию статей об архитектуре приложения с использованием Linq2SQL:
- Часть 1 Введение
- Часть 2 Многоуровневые архитектуры
- Часть 3 DAO и репозитории
- Часть 4 Динамические запросы
- Часть 5
- Часть 6 Сопоставление с использованием XML-файлов вместо атрибутов
- Часть 7
- Часть 8
- Часть 9
- Часть 10
Надеюсь, вы найдете то, что вам нужно.
Другие советы
L2S не мертв, но в основном завершен.Это реализация (Sql Adapter ) для Linq.Linq - это языковая функция, которая будет продолжать расширяться по мере выпуска версий .net.
Что делает Linq прекрасным, так это простота.Я, например, помимо дополнительных поставщиков (таких как MySQL, Firebird и т.д...) Я действительно не хочу, чтобы они все испортили.