我想添加一个 Restrictions.Eq,并用 TSQL 替换列名。我该怎么做呢?
string location = "Columbus OH";
var requestQuery = Session.CreateCriteria<Request>();
requestQuery.Add(Restrictions.Eq("Replace(LocationName,',','')", location);
一种可能的方法是使用SqlProjection
。一个例子:
string location = "Columbus OH";
var session = NHSession.GetCurrent();
var query = session.CreateCriteria<Request>();
query.Add(Restrictions
.Eq( // SQL Server function call
Projections.SqlProjection(
"Replace(LocationName,',','') as Replacement"
, new[] {"Replacement"}
, new IType[] {NHibernateUtil.String})
, location // searched value
));
var list = query.List<Request>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)