两种查询方式的不同
第一种,查询的代码
string hql="select soft.SoftID,soft.SoftName,soft.ID from So.Supercargo.Soft as soft where soft.State in (1,2)";
IList list = session.Find(hql);
第二种,查询的代码
ICriteria cri = session.CreateCriteria(typeof(So.Supercargo.Soft));
int [] arrVal = {1,2};
ICriterion cri2 = Expression.In("State",arrVal);
cri.Add(cri2);
IList list = cri.List();
![](/Images/OutliningIndicators/None.gif)
结果都得到IList,但前者是一个值数组,后者是实体对对象数组。下图中的softs都是上面的list(IList softs=list;)![](/images/cnblogs_com/kevin-y/list0_1.gif)
第二种
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
第二种,查询的代码
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
结果都得到IList,但前者是一个值数组,后者是实体对对象数组。下图中的softs都是上面的list(IList softs=list;)
![](/images/cnblogs_com/kevin-y/list0_1.gif)
第二种
![](/images/cnblogs_com/kevin-y/list1_1.gif)