Fluent nHibernate QueryOver SQL 'CASE' equivalent
Basically what I want to do is to write this piece of SQL:
SELECT
CASE
WHEN t.ty开发者_StackOverflow社区pe = 'a' THEN
t.name
ELSE
t.otherName
END
as "Name"
FROM myTable t
in QueryOver
maybe there is some nicer syntax possible, but this should do
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();
精彩评论