NHibernate 3.0搜索子字符串

Ras*_*sen 4 nhibernate

我正在使用NHibernate 3.0 IQueryOver 进行搜索,我在其中搜索了一个关键字.我需要在字符串中搜索它是否是字符串的一部分,

Query().Where(e => e.Name.Contains(keyword)).List();
Run Code Online (Sandbox Code Playgroud)

但这并没有像预期的那样完成工作.如何进行这样的搜索?

Wor*_*und 7

我检查了NHibernate源代码,并且上面发布ExpressionProcessorQueryOver字符串不支持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例外.