nhibernate CreateCriteria通配符喜欢的时候

Joh*_*lan 2 nhibernate createcriteria

在SQL中我可以写

SELECT blah FROM Clients Where @p1 Like '%'+lastname+'%'

我如何用Nhibernate中的CreateCriteria表示这个?

我试过了 s.CreateCriteria<Client>.Add(Restrictions.Where<Client>(c => "something".Contains(c.LastName))

但得到一个错误

System.Exception:无法识别的方法调用:System.String:Boolean包含(System.String)\ r \n在NHibernate.Impl.ExpressionProcessor.ProcessCustomMethodCall(MethodCallExpression methodCallExpression)

我也试过了

s.CreateCriteria<Client>.Add(Restrictions.Where<Client>(c => "something".IndexOf(c.LastName) != -1))

但得到

"范围''引用的'TrinityFinance.Data.Entities.Client'类型的变量'c',但未定义"

请注意,订单在这里很重要.

@p1 Like '%'+lastname+'%'

是不一样的

lastname Like '%'+@p1+'%'

Ben*_*ton 12

s.CreateCriteria<Client>().Add(
      Restrictions.InsensitiveLike( "LastName", "something", MatchMode.Anywhere))
Run Code Online (Sandbox Code Playgroud)