4

不敢相信我没有找到答案,但你怎么能做这样的查询

SELECT LTRIM(RTRIM("ColumnName")) FROM ....

在 NHibernate

谢谢

4

1 回答 1

4

以银行为 POCO 的示例:

public class Bank
{
  public virtual int    ID { get; set; }
  public virtual string City { get; set; }
  public virtual string Street { get; set; }
}

有一个语法LTRIM(RTRIM...

Bank bank = null;
var session = ...;
var query = session.QueryOver<BankAddress>()
  .SelectList(l => l

    // properties ID, City
    .Select(c => c.ID).WithAlias(() => bank.ID)
    .Select(c => c.City).WithAlias(() => bank.City)  

    // projection Street 
    .Select(Projections.SqlProjection(               
        " LTRIM(RTRIM({alias}.Street)) as Street"  // applying LTRIM(RTRIM
        , new string[] { "Street" }
        , new IType[] { NHibernate.NHibernateUtil.String }
  ))
  .TransformUsing(Transformers.AliasToBean<Bank>())
  ;

var list = query.List<Bank>();
于 2013-02-01T05:09:17.400 回答