我的意思是,说我在我的仓库里的方法:存储库是否应该提供所有数据到服务?
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?
@Sam - 如果你想使用规范模式,这里是一个伟大的阅读http://huyrua.wordpress.com/2010/08/25/specification-pattern-in-entity-framework-4-revisited/ – Paul 2011-03-08 15:55:41