我正在编写一个包含项目列表的屏幕。每个项目包括一个按钮,用户可以在其中弹出一个对话框,以输入或读取(他们先前输入的)对所述订单项的反馈。因为反馈包含大量的文本数据,并且每页可能有很多行项目,所以我使用AJAX按需加载反馈。
我想根据用户是否留下反馈,为订单项的反馈按钮设置不同的图标。目标是让用户了解尚未输入的内容。我使用NHibernate作为我的ORM。是否可以编写一个NHibernate查询,其中包含一个布尔值,指示数据库列是否为空?否则,是否可以使用NHibernate返回每行的字符串长度?我正在使用Criteria API,但任何帮助将不胜感激。
基本上我正在尝试这样做:
SELECT id, name, has_feedback is null as has_preview FROM my_table;
答案 0 :(得分:1)
可以使用nhibernate函数获取字符串长度
session.QueryOver<Foo>()
.Select(Projections.SqlFunction("length", NHibernateUtil.Int32, Projections.Property<Foo>(foo => foo.Name)))
.List();
session.CreateCriteria<Foo>()
.SetProjection(Projections.SqlFunction("length", NHibernateUtil.Int32, Projections.Property(Name)))
.List<int>();