Nhibernate 与桌子不同 ICriteria crit=session.CreateCriteria(); foreach(过滤器中的ICriteriaItem参数) { 标准添加(Expression.Eq(param.PropertyName,param.FilterValue)); } crit.SetProjection(Projections.Distinct(Projections.ProjectionList());

Nhibernate 与桌子不同 ICriteria crit=session.CreateCriteria(); foreach(过滤器中的ICriteriaItem参数) { 标准添加(Expression.Eq(param.PropertyName,param.FilterValue)); } crit.SetProjection(Projections.Distinct(Projections.ProjectionList());,nhibernate,Nhibernate,显然不起作用 ICriteria crit = session.CreateCriteria<HCOSpendTable>(); foreach (ICriteriaItem<object> param in filters) { crit.Add(Expression.Eq(param.PropertyName, param.FilterValue)); } crit.SetProjection(Projections.Distinct(Projections

显然不起作用

ICriteria crit = session.CreateCriteria<HCOSpendTable>();

foreach (ICriteriaItem<object> param in filters)
{
   crit.Add(Expression.Eq(param.PropertyName, param.FilterValue));
}

crit.SetProjection(Projections.Distinct(Projections.ProjectionList()));
crit.AddOrder(新订单(sortField,sortorderascing));
临界值SetFirstResult(页码*页面大小);
临界SetMaxResults(页面大小);
Commit();
返回crit.List();

您需要将属性映射添加到
ProjectionList()


您需要将属性映射添加到
ProjectionList()


ICriteria criteria=session.CreateCriteria(typeof(Person));criteria.SetProjection(Projections.Distinct(Projections.ProjectionList().Add(Projections.Alias(Projections.Property(“FirstName”),“FirstName”))).Add(Projections.Alias(Projections.Property(“LastName”),“LastName”))

criteria.SetResultTransformer(新的NHibernate.Transform.AliasToBeanResultTransformer(typeof(Person))


IList people=criteria.List()

ICriteria criteria=session.CreateCriteria(typeof(Person));criteria.SetProjection(Projections.Distinct(Projections.ProjectionList().Add(Projections.Alias(Projections.Property(“FirstName”),“FirstName”))).Add(Projections.Alias(Projections.Property(“LastName”),“LastName”))

criteria.SetResultTransformer(新的NHibernate.Transform.AliasToBeanResultTransformer(typeof(Person))


IList people=criteria.List()

当我这样做时,我遇到异常无法执行find[SQL:SQL not available]是,在我对如何添加“sortField”的where条件做了一些小更改后,它仍在工作null或emptycrit.Add(Expression.IsNotNull(sortField));但是在我添加这个crit.add(Restrictions.Not(Restrictions.Eq(sortField,string.empty))之后,我仍然得到空的onworking;当我这样做时,我遇到异常无法执行find[SQL:SQL not available]是,在我对如何添加“sortField”的where条件做了一些小更改后,它仍在工作null或emptycrit.Add(Expression.IsNotNull(sortField));但是在我添加这个crit.add(Restrictions.Not(Restrictions.Eq(sortField,string.empty))之后,我仍然得到空的onworking;
crit.AddOrder(new Order(sortField, sortOrderAscending));
crit.SetFirstResult(pageNumber * pageSize);
crit.SetMaxResults(pageSize);

transaction.Commit();

return crit.List<IHCOSpendTable>();
crit.SetProjection(Projections.Distinct(Projections.ProjectionList()
    .Add(Projections.Property("id"), "id")
    .Add(Projections.Property("name"), "name")
));