我正在使用NHibernate 3.0 IQueryOver 进行搜索,我在其中搜索了一个关键字.我需要在字符串中搜索它是否是字符串的一部分,
Query().Where(e => e.Name.Contains(keyword)).List();
Run Code Online (Sandbox Code Playgroud)
但这并没有像预期的那样完成工作.如何进行这样的搜索?
我检查了NHibernate源代码,并且上面发布ExpressionProcessor的QueryOver字符串不支持Contains.它支持的操作是IsLike和IsIn.您可以使用IsLike或者如果您热衷于Contains,请使用Linq.例如 :
(from user in db.Users
where names.Contains(user.Name)
select user);
Run Code Online (Sandbox Code Playgroud)
要么
query.Where(person.Name.IsLike("%test%")) //In QueryOver
Run Code Online (Sandbox Code Playgroud)
我猜你有一个Unrecognised method call例外.
| 归档时间: |
|
| 查看次数: |
2440 次 |
| 最近记录: |