0

我正在编写一个包含项目列表的屏幕。每个项目都包括一个按钮,用户可以在其中弹出一个对话框以输入或阅读(他们先前输入的)对所述行项目的反馈。因为反馈包含大量文本数据并且每页可能有很多行项目,所以我使用 AJAX 按需加载反馈。

我希望根据用户是否留下反馈,为订单项的反馈按钮设置不同的图标。目标是让用户知道尚未输入的内容。我使用 NHibernate 作为我的 ORM。是否可以编写一个 NHibernate 查询,其中包含一个指示数据库列是否为空的布尔值?否则是否可以再次使用 NHibernate 返回每行的字符串长度?我正在使用 Criteria API,但我们将不胜感激。

本质上,我正在尝试这样做:

SELECT id, name, has_feedback is null as has_preview FROM my_table;
4

1 回答 1

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>();
于 2012-07-23T09:35:59.630 回答