如何使用HQL检索单个列的string类型值。 我尝试了以下方法,但没有工作。
public virtual string GetCityById(int Id)
{
using (var session = sessionFactory.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
var queryString = string.Format("SELECT C.CityName FROM {0} AS C WHERE Id=:Id", typeof(T));
return session.CreateQuery(queryString).SetInt32("Id", Id).ToString(); <--Also tried with .SetParameter("Id",Id)
}
}
}
预期输出为:
NEWYORK
实际输出是:
选择姓名FROM FNHHelper.Entites.Cities WHERE Id =:Id
答案 0 :(得分:1)
您将返回查询的String表示形式。您只需执行查询,并返回其唯一结果:
session.CreateQuery(queryString).SetInt32("Id", Id).UniqueResult();
(假设方法名称与Java版本相同)。