我有疑问:
var query = this.session.QueryOver<Products>()
.Where(uic => uic.PageNumber == nextPage[0])
.SingleOrDefault(uic => uic.ProductNumber)
但是此查询结果是Products类型。结果可能只是整数类型的ProductNumber列?
答案 0 :(得分:4)
尝试这样的事情:
var query = this.session.QueryOver<Products>()
.Where(uic => uic.PageNumber == nextPage[0])
.Select(uic => uic.ProductNumber)
.SingleOrDefault<int>();
由于您需要单个基本类型值,因此可以.Select
定义结果列,然后执行.SingleOrDefault
以获得唯一结果。对于复杂类型,您需要使用变换器。
您可以在这篇关于nhibernate.info的博文中找到有关QueryOver的更多信息:http://nhibernate.info/blog/2009/12/17/queryover-in-nh-3-0.html