Я использую EF4.3.1 в приложении веб-форм .Net4.0 (не MVC!).
Я склонен использовать шаблон репозитория с интерфейсом IUnitOfWork.Но мне интересно, следую ли я лучшим рекомендациям, тем более что большинство примеров, которым я следовал, основаны на приложениях MVC.
Я скажу, что это всего лишь небольшое веб-приложение, так что это может повлиять на выбор решения..
В настоящее время решение имеет 3 проекта: модель, логика и сайт.Модель содержит объекты codefirst и интерфейс IUnitOfWork.Логика содержит репозитории и сервисный слой.Сайт, очевидно, содержит веб-сайт, код и т. Д.
Я не использую стороннюю утилиту для инъекций (ninject и т. Д.).Я вручную внедряю репозитории с помощью IUnitOfWork, т. Е.
общедоступный BookingRepository (IUnitOfWork unitOfWork)
Я не совсем ясно, что делать со служебными слоями, если IUnitOfWork также присутствует в проекте Site, илисуществуют только в слоях логики и модели.
В настоящее время я внедряю репозиторий и единицу работы в службу, т.е.
общедоступный BookingService (IUnitOfWork unitOfWork, IBookingRepository репозиторий, IAppSettings appSettings)
Но это означает, что фиксация (сохранение в db) выполняется на уровне сайта, но мне интересно, следует ли это делать на уровне сервиса.Это также означает, что, поскольку мой IUnitOfWork объявлен на уровне модели, мне также нужна ссылка на модель на моем сайте.
Что я могу сделать лучше?Я что-то делаю правильно?лол