所以我只希望结果的计数不是结果本身,因此我在hql中使用count。所以,下面是查询
(int) Session.CreateQuery("select count(*) from TableName where Lhs=Rhs").UniqueResult();
但它给了我错误Specified cast is not valid.
。
所以,任何人都可以告诉我如何将计数转换为int。
非常感谢任何帮助。
答案 0 :(得分:2)
尝试
Convert.ToInt32(Session.CreateQuery ....);
同时验证它是否真正返回计数或null。这可能是一种可能性。
谢谢
答案 1 :(得分:1)
改为:
var temp = Session.CreateQuery("select count(*) from TableName where Lhs=Rhs").UniqueResult();
//check the type of the temp
temp.GetType();
我觉得它很长,而不是int。
答案 2 :(得分:0)
问题在于Casting,因为它返回单个结果(与查询匹配的实例)或null。 如果将int更改为可以为空,会发生什么?