2011-09-26 22 views

答えて

7

SELECT 
CASE 
    WHEN t.type = 'a' THEN 
     t.name 
    ELSE 
     t.otherName 
    END 
    as "Name" 
FROM myTable t 

は多分可能、いくつかのよりよい構文がありますが、これは行う必要があります

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();