我在使用Nhbernate中的位置参数时遇到问题。“?”附近的语法错误:Nhibernate生成的查询
条件GroupProperty使用命名变量和位置变量发送sql。
本声明:
session.CreateCriteria(typeof(MatchStageFrom))
.SetProjection(Projections.GroupProperty(
Projections.SqlFunction("substring", NHibernateUtil.String, Projections.Property("LastName"), Projections.Constant(0), Projections.Constant(1))
)
);
是生产这个SQL:
SELECT substring(this_.LAST_NAME, @p0, @p1) as y0_ FROM MATCH_STAGING_FROM this_ GROUP BY substring(this_.LAST_NAME, ?, ?)
导致SQL与错误:
Incorrect syntax near '?'.
could not execute query
[ SELECT substring(this_.LAST_NAME, @p0, @p1) as y0_ FROM MATCH_STAGING_FROM this_ GROUP BY substring(this_.LAST_NAME, ?, ?) ]
Positional parameters: #0>0 #1>1 #2>0 #3>1
[SQL: SELECT substring(this_.LAST_NAME, @p0, @p1) as y0_ FROM MATCH_STAGING_FROM this_ GROUP BY substring(this_.LAST_NAME, ?, ?)]
我能做些什么来解决这个问题?
很高兴知道我不是唯一一个谁经历过这个。 –