Думаю, я хожу по кругу.
Я работаю над решением MVC 3 с использованием EF4 и POCO (сначала базы данных) и IoC. Мой репозиторий и шаблоны UoW в основном были заимствованы из этой статьи и этой статьи .
Мое решение состоит из следующих проектов:
Реализации:
Интерфейсы:
И, наконец, проект IoC, который связывает все вместе.
Если вы заметили в первой статье, автор упоминает об удалении зависимости от ObjectSet от доменных служб. Я предполагаю, что это сделано для проверки. Проблема с этим, однако, заключается в том, что это мешает возможности выполнять сложные запросы из служб домена, потому что IObjectSet и IEnumerable (возвращаемые большинством методов в репозитории) не отменяют методы для сложных запросов.
Означает ли это, что Мне нужно выполнять сложные запросы в моем репозитории? Следует ли мне отказаться от таких методов, как public T Single (Expression
, и придерживаться таких методов, как public T GetUserById (int id)
?
Если это не так, то как мне выполнять сложные запросы , такие как этот , на моем уровне обслуживания?
Глядя на схему моего решения выше и на вопросы, которые у меня есть, я двигаюсь в правильном направлении , или я создаю себе проблемы?
Заранее спасибо.