nHibernate使用哪种返回类型?列表<;T>;?

nHibernate使用哪种返回类型?列表<;T>;?,nhibernate,Nhibernate,我想创建我的数据库层,这样我就可以交换它,并在将来使用LINQ或其他任何东西 在我的抽象类(或接口)中,对于返回项目列表/集合的结果,应该使用什么返回类型 nHibernate是否返回列表?您应该使用IList。NHibernate总是从它的集合中返回一个IList,文档说明: 集合映射的名称 是一个明显的地方 Java和.NET之间的区别如下 展示。Java的集合库 有比这多得多的选择 系统。收集 * The <list> maps directly to an IList. *

我想创建我的数据库层,这样我就可以交换它,并在将来使用LINQ或其他任何东西

在我的抽象类(或接口)中,对于返回项目列表/集合的结果,应该使用什么返回类型


nHibernate是否返回列表?

您应该使用
IList
。NHibernate总是从它的集合中返回一个
IList
,文档说明:

集合映射的名称 是一个明显的地方 Java和.NET之间的区别如下 展示。Java的集合库 有比这多得多的选择 系统。收集

* The <list> maps directly to an IList.
* The <map> maps directly to an IDictionary.
* The <bag> maps to an IList. A <bag> does not completely comply with
*直接映射到IList。
*直接映射到IDictionary。
*映射到IList。A不完全符合
IList接口,因为Add() 方法不保证返回 正确的索引。可以添加一个对象 在不初始化 伊里斯特。请确保隐藏 IList来自API的使用者 或者将其记录在案。 *映射到Iesi.Collections.ISet。该接口 是Iesi系列的一部分 与NHibernate一起分发的组件

不仅如此,根据接口而不是抽象编写代码通常是一种很好的做法