码迷,mamicode.com
首页 > 系统相关 > 详细

Nhibernate Criteria 多个or条件查询

时间:2014-08-26 22:57:16      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:io   ar   cti   sp   on   ad   c   sql   res   

sql: select * from table t where (t.name like ‘%张三%‘ or t.schoolName like ‘%张三%‘ or t.cityname like ‘%张三%‘)

 

用Nhibernate Criteria就可以写成

 var criteria = NHibernateSessionReader.CreateCriteria(typeof(Contract));

            if (!string.IsNullOrEmpty(keyWord))
            {

      criteria.Add(Expression.Like("name", keyWord, MatchMode.Anywhere)
                       || Expression.Like("school", "%" + keyWord + "%")
                       || Expression.Like("cityname", "%" + keyWord + "%")                    
                       || Expression.Like("province", "%" + keyWord + "%")
                       || Expression.Like("UserName", "%" + keyWord + "%")); 

     }

或者

    if (!string.IsNullOrEmpty(keyWord))
            {

     criteria.Add(
                    Restrictions.Or(Expression.Like("name", keyWord, MatchMode.Anywhere),
                    Restrictions.Or(Expression.Like("school", keyWord, MatchMode.Anywhere),
                    Restrictions.Or(Expression.Like("cityname", keyWord, MatchMode.Anywhere),
                    Restrictions.Or(Expression.Like("province", keyWord, MatchMode.Anywhere),
                    Restrictions.Or(Expression.Like("UserName", keyWord, MatchMode.Anywhere),
                    Restrictions.Like("UserName", keyWord, MatchMode.Anywhere)))))));

    }

Nhibernate Criteria 多个or条件查询

标签:io   ar   cti   sp   on   ad   c   sql   res   

原文地址:http://www.cnblogs.com/lyeo/p/3938345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!