流畅的nHibernate QueryOver SQL 'CASE'等效语句

8
基本上我想做的是编写这段SQL代码:
SELECT
CASE
    WHEN t.type = 'a' THEN
        t.name
    ELSE
        t.otherName
    END
    as "Name"
FROM myTable t

在QueryOver中

1个回答

7
也许有更好的语法,但这样做应该可以。
var result = session.QueryOver<MyEntity>()
    .Select(Projections.Alias(
        Projections.Conditional(Restrictions.Eq("type", 'a'),
            Projections.Property(t => t.name),
            Projections.Property(t => t.othername)),
        "Name"
    )
    .List();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接