Query By Criteria的限制条件写法
2015-07-24 14:51
465 查看
NHibernate(1) HQL 条件查询(QBC) - 条件限制
QBC (Query By Criteria) 主要有Criteria,Criterion,Oder,Restrictions,Expresss类组成比较运算符
HQL运算符 QBC运算符 含义
= Restrictions.eq() 等于
<> Restrictions.not(Exprission.eq()) 不等于
> Restrictions.gt() 大于
>= Restrictions.ge() 大于等于
< Restrictions.lt() 小于
<= Restrictions.le() 小于等于
is null Restrictions.isnull() 等于空值
is not null Restrictions.isNotNull() 非空值
like Restrictions.like() 字符串模式匹配
and Restrictions.and() 逻辑与
and Restrictions.conjunction() 逻辑与
or Restrictions.or() 逻辑或
or Restrictions.disjunction() 逻辑或
not Restrictions.not() 逻辑非
in(列表) Restrictions.in() 等于列表中的某一个值
ont in(列表) Restrictions.not(Restrictions.in())不等于列表中任意一个值
between x and y Restrictions.between() 闭区间xy中的任意值
not between x and y Restrictions.not(Restrictions..between()) 小于值X或者大于值y
1、简单查询
//+收货单
ICriteria iReceivingCriteria = session.CreateCriteria(typeof(IEIReceivingContent));
iReceivingCriteria.Add(Expression.Eq("InvoiceStatus", 3));
iStockCriteria.Add(Expression.Like("OrgId", criteria.OrgId));
2、时间段查询
iReceivingCriteria.Add(Restrictions.Between("BusinessDate", criteria.BeginDate, criteria.EndDate));
3、HQL 使用 多条件查询
3.1 同一个输入数值 匹配两个字段
list = DeliveryDao.CurrentSession.CreateCriteria(typeof(Delivery))
.Add
(
NHibernate.Criterion.Restrictions.Or
(
NHibernate.Criterion.Restrictions.Like("Id", "%" + idOrNo + "%"),
NHibernate.Criterion.Restrictions.Like("DeliveryNbr", "%" + idOrNo + "%")
)
)
3.2 两个以上or 的实现方法 利用Disjunction方法可以实现
crit.Add(Expression.Disjunction()
.Add(Expression.Eq("order_state", 1))
.Add(Expression.Eq("order_state", 2))
.Add(Expression.Eq("order_state", 0))
);
3.3 多个字段不同的值
NHibernate.ICriteria criteria = StorageBalanceDao.CurrentSession.CreateCriteria(typeof(StorageBalance));
criteria.Add(
NHibernate.Criterion.Expression.Disjunction()
.Add(NHibernate.Criterion.Restrictions.Eq("property_1", "value_1"))
.Add(NHibernate.Criterion.Restrictions.Eq("property_2", "value_2"))
.Add(NHibernate.Criterion.Restrictions.Eq("property_3", "value_3"))
);
相关文章推荐
- 谷歌眼镜GDK开发指南之地理位置和传感器
- hibernate之Restrictions用法
- spring.net配置错误:Could not load type from string value ...
- Hibernate 中 Criteria 的完整用法
- Hibernate 中 Criteria 查询条件 Restrictions 限定条件参数详解
- hibernate如何使用criteria查詢 oracle分组group by案例
- 此 SqlParameterCollection 的 Count=4 的索引 4 无效。
- NHibernate学习之-配置
- Hibernate的Criteria Query
- Nhibernate 映射 FluentApi Mapping by Code
- Restrictions
- hibernate 离线查询 在线查询
- DetachedCriteria对象实现离线查询
- Spring.net实战开发教程下载 Spring.net视频教程
- 解决HibernateException: Illegal attempt to associate a collection with two open sessions
- Hibernate中Criteria的完整用法
- Restrictions
- Hibernate中Criteria的完整用法
- hibernate中利用criteria分页的实现
- hibernate 字段值比较