つまり、リポジトリにメソッドがあるとしましょう。
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を返す必要がありますか?