zoukankan      html  css  js  c++  java
  • Nhibernate Criteria 多个or条件以及Like查询

    Nhibernate Criteria 多个or条件以及Like查询

    添加引用:using NHibernate.Criterion;
    //创建查询条件集合
     IList<ICriterion> query = new List<ICriterion>();
    
     1. 调用Expression.Or
    query.Add(Expression.Or(Expression.Like("UserName", whereTxt.ToLower(), MatchMode.Anywhere), Expression.Like("Account", whereTxt.ToLower(), MatchMode.Anywhere)));
    
     2. 调用Restrictions.Or
    query.Add(Restrictions.Or(Expression.Like("UserName", whereTxt.ToLower(), MatchMode.Anywhere), Expression.Like("Account", whereTxt.ToLower(), MatchMode.Anywhere)));
    
     3. 直接使用||符号连接
    query.Add(Expression.Like("UserName", whereTxt.ToLower(), MatchMode.Anywhere) || Expression.Like("Account", whereTxt.ToLower(), MatchMode.Anywhere));

    对MatchMode介绍一下。

    public abstract class MatchMode
        {
            //表示  %参数%
            public static readonly MatchMode Anywhere;
            //表示  参数%
            public static readonly MatchMode End;
            //表示  参数
            public static readonly MatchMode Exact;
            //表示  %参数
            public static readonly MatchMode Start;
    
            protected MatchMode(int intCode, string name);
    
            public abstract string ToMatchString(string pattern);
            public override string ToString();
        }

    MatchMode.START:字符串在最前面的位置.相当于”like ‘key%’”
    MatchMode.END:字符串在最后面的位置.相当于”like ‘%key’”
    MatchMode.ANYWHERE:字符串在中间匹配.相当于”like ‘%key%’”
    MatchMode.EXACT:字符串精确匹配.相当于”like ‘key’”

  • 相关阅读:
    [BZOJ3195] [Jxoi2012]奇怪的道路
    Splay Tree
    区间DP复习
    Link Cut Tree
    [BZOJ2734] [HNOI2012]集合选数
    如何写出杀手级简历(针对程序员) (转)
    30个提高Web程序执行效率的好经验(转)
    Oracle中的SQL跟踪( 转)
    如何终止SQL Server中的用户进程(转)
    Will the real programmers please stand up?(转)
  • 原文地址:https://www.cnblogs.com/cqxhl/p/12993313.html
Copyright © 2011-2022 走看看