我的意思是,假设我的存储库中有一个方法:
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?