Я внедряю DAL, используя Entity Framework. В нашем приложении у нас есть три уровня (DAL, бизнес и презентация). Это веб -приложение. Когда мы начали реализовывать DAL, наша команда подумала, что у DAL должны быть классы, методы которых получают объектный контекст, предоставляемые услугами на бизнес -уровне и работают над ним. Обоснование этого решения состоит в том, что разные объектные контексы видят различные состояния DB, поэтому некоторые операции могут быть отклонены из -за проблем с соответствующими проблемами иностранных ключей и другими несоответствиями. Поэтому мы решили использовать DTOS, отображаемые Automapper (не неуправляемые сущности или самостоятельные сущности, которые утверждают высокую связь, подвергая сущности верхние слои и низкую эффективность) и UnitOfwork. Итак, вот мои вопросы: < /p>
Это правильный подход к разработке DAL веб -приложения? Почему? Ответ. Бизнес -уровень имеет как фасады, так и услуги < /p>
Существует интерфейс, называемый itransaction (только с двумя методами для утилизации и сохранения изменений), видимых только на услугах. Чтобы управлять транзакцией, существует классная транзакция, расширяющая объект, и иточн. Мы разработали это, имея в виду, что на бизнес -уровне мы не хотим, чтобы другие методы ObjectContext были доступны. Этот репозиторий имеет CRUD -методы, внедренные общим способом и два общих метода для картирования DTO и объектов общего репозитория с помощью Automapper. Конструктор репозитория абстрактного репозитория принимает на себя аргумент, и он ожидает, что ItransAction будет объектномконтролем, чтобы назначить его свой свойство объектно -контекста. постоянный идентификатор для прикрепленных сущностей (пока мы не используем SaveChanges () , поэтому разбивая необходимость, которую мы хотим); Это подразумевает, что методы обслуживания не могут использовать его для ассоциации DTO в BL)
Подробнее здесь: https://stackoverflow.com/questions/455 ... eb-applica
Является ли DTO Plus UnitOfwork Pattern хорошим подходом к разработке DAL для веб -приложения? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение