Я использую EF4.3.1 в .Net4.0 веб-формах (а не MVC!).IUnitOfWork как использовать - наилучшая практика
Я обычно использую шаблон хранилища с интерфейсом IUnitOfWork. Но мне интересно, следую ли я лучшим практикам, тем более, что большинство примеров, которые я использовал, основаны на приложениях MVC.
Я скажу, что это всего лишь небольшое веб-приложение, так что это может повлиять на выбор решения.
Решение в настоящее время имеет 3 проекта, модель, логику и сайт. Модель содержит объекты codefirst и интерфейс IUnitOfWork. Логика содержит репозитории и уровень обслуживания. Сайт, очевидно, содержит веб-сайт, codebehind и т. Д.
Я не использую стороннюю утилиту для инъекций (ninject и т. Д.). Я вручную вводить хранилища со IUnitOfWork т.е.
общественного BookingRepository (IUnitOfWork UnitOfWork)
я менее ясно, что делать со слоями обслуживания, если IUnitOfWork также exisit в проекте сайта, или существует только в Уровни логики и модели.
В настоящее время я впрыснуть хранилище и единицы работы в службу т.е.
общественного BookingService (IUnitOfWork UnitOfWork, IBookingRepository хранилище, IAppSettings AppSettings)
Но это означает, что совершали (сохранить в БД) делается на уровне Сайта, но мне интересно, следует ли это делать на уровне сервиса. Это также означает, что, поскольку мой IUnitOfWork объявлен в моем модельном слое, мне также нужна ссылка на Model на моем сайте.
Что я могу сделать лучше? Я что-то делаю правильно? lol
IUnitOfWork не следует передавать в репозиторий, только в службу. См. Пример здесь http://stackoverflow.com/questions/9808577/multiple-generic-repositories-in-unitofwork/9809550#9809550 –