NHibernate中的集合类型区分
NHibernate支持/定义的几种类型的集合:
相同点: bag ,set ,list,map 都是集合
区别:
Bag:对象集合,每个元素可以重复。例如{a,b,b,c,d,a},在.Net中相当于IList或者IList<T>
实 现。
Set:对象集合,每个元素必须唯一。例如{a,b,c,d},在.Net中相当于ISet或者ISet<T>实
现,Iesi.Collections.dll程序集提供ISet集合。
List:整数索引对象集合,每个元素可以重复。例如{{1,"xiaozhu"},{2,"xiaozhu"},
{3,"king zhu"}},在.Net中相当于ArraryList或者List<T>实现。
他和Map 的区别是他的索引建必须是整数
Map:键值对集合。例如{{"xiao zhu",5},{"xiaozhu",7},{"xiaozh",6}},在.Net中相当于
HashTable或者IDictionary<Tkey,TValue>实现。
他和List 的区别是他的键可是是任意类型的,不局限为整数