Я имею в виду, что у меня в хранилище есть метод:
Public Function GetCustomerByState(ByVal State As String) As IQueryable(Of Customer)
Если служба сможет получить дополнительные данные в виде, скажем, этого расширения, например, получить заказы для клиента:
<Extension()> _
Public Function Include(Of T)(ByVal Source As IQueryable(Of T), ByVal Path As String) As IQueryable(Of T)
Dim ObjectQuery = CType(Source, ObjectQuery(Of T))
If (ObjectQuery IsNot Nothing) Then
Return ObjectQuery.Include(Path)
End If
Return Source
End Function
Это расширение, скорее всего, используется с общим репозиторием.
Или у вас должны быть конкретные реализации репозиториев для каждого агрегатного корня, которые возвращают службе именно то, что ей нужно, и ничего более или менее?
Тогда, должны ли ваши репозитории даже возвращать IQueryable?