可能重复:
How do I escape a LIKE clause using NHibernate Criteria?
我正在尝试使用nHibernate Criteria Query从SQL Server 2005数据库中获取数据。我获取Name fireld的textBox是Free Text,没有任何特殊字符验证。
string Name = "%%%";
ICriteria criteria = Session.CreateCriteria(typeof(Employee))
criteria.Add(Expression.Like("Name", "%"+Name+"%"));
return criteria.List<Employee>();
上面的Criteria返回给我所有记录,但实际上它应该返回null(没有任何带有“%%%”的记录。我认为这是因为创建的SQL查询将是这样的:
Select * from Employee where Name Like %%%%%
知道如何解决这个问题吗?
答案 0 :(得分:1)
尝试criteria.Add(Restrictions.Like("Code", itemCode, MatchMode.Anywhere));
或Restrictions.InsensitiveLike
进行不敏感搜索