reposity返回的结果应该是哪种集合类型?(.Net)
在.net应用程序中使用基于存储库的持久性时,通常应使用哪种集合类型 IList,IEnumerablereposity返回的结果应该是哪种集合类型?(.Net),.net,persistence,repository-pattern,.net,Persistence,Repository Pattern,在.net应用程序中使用基于存储库的持久性时,通常应使用哪种集合类型 IList,IEnumerable 例如,FindAll()方法。对于只读集合,可以使用ReadOnlyCollection。FindAll为列表提供的功能可以通过使用LINQ在其他类型上获得。对于只读集合,您可以使用ReadOnlyCollection。FindAll为列表提供的功能可以通过使用LINQ在其他类型上获得。这取决于 IEnumerable最大限度地减少了调用代码和存储库实现之间的耦合。但所有进一步的处理(如分
例如,FindAll()方法。对于只读集合,可以使用
ReadOnlyCollection
。FindAll
为列表提供的功能可以通过使用LINQ在其他类型上获得。对于只读集合,您可以使用ReadOnlyCollection
。FindAll
为列表提供的功能可以通过使用LINQ在其他类型上获得。这取决于
IEnumerable
最大限度地减少了调用代码和存储库实现之间的耦合。但所有进一步的处理(如分拣)都必须在过程中完成
IQueryable
允许添加更多操作,这些操作可能(取决于存储库实现)在基础数据存储上执行
因为您可以轻松地在这两者之间进行转换(有一个AsQueryable
扩展方法,它允许将IEnumerable
转换为IQueryable
进行键入,但当然处理仍在内存中完成)
就个人而言,我喜欢IQueryable
提供的潜在好处,即使非基于LINQ的存储库现在可能无法从中受益。另一方面,雅格特尼。这要看情况而定
IEnumerable
最大限度地减少了调用代码和存储库实现之间的耦合。但所有进一步的处理(如分拣)都必须在过程中完成
IQueryable
允许添加更多操作,这些操作可能(取决于存储库实现)在基础数据存储上执行
因为您可以轻松地在这两者之间进行转换(有一个AsQueryable
扩展方法,它允许将IEnumerable
转换为IQueryable
进行键入,但当然处理仍在内存中完成)
就个人而言,我喜欢IQueryable
提供的潜在好处,即使非基于LINQ的存储库现在可能无法从中受益。另一方面,YAGTNI.我总是使用IEnumerable,因为它是可以返回的最小类型,所以你不给客户他不需要的东西我总是使用IEnumerable,因为它是可以返回的最小类型,所以你不给客户他不需要的东西