Nhibernate 修剪线状纤维

Nhibernate 修剪线状纤维,nhibernate,Nhibernate,真不敢相信我找不到答案,但你怎么能提出这样的问题呢 SELECT LTRIM(RTRIM("ColumnName")) FROM .... 在NHibernate 感谢有一个银行作为POCO的例子: public class Bank { public virtual int ID { get; set; } public virtual string City { get; set; } public virtual string Street { get; set; }

真不敢相信我找不到答案,但你怎么能提出这样的问题呢

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


感谢有一个银行作为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>();
Bank=null;
var会话=。。。;
var query=session.QueryOver()
.选择列表(l=>l
//属性ID,城市
.Select(c=>c.ID).WithAlias(()=>bank.ID)
.选择(c=>c.City).WithAlias(()=>bank.City)
//投影街
.Select(Projections.SqlProjection(
“LTRIM(RTRIM({alias}.Street))作为街道”//应用LTRIM(RTRIM
,新字符串[]{“Street”}
,新的IType[]{NHibernate.NHibernateUtil.String}
))
.TransformUsing(Transformers.AliasToBean())
;
var list=query.list();

此外,Linq2NH可以处理对Trim/TrimStart/TrimEnd的调用,该调用将解析为HQL Trim()函数,该函数将解析为SQL ANSI Trim,除非在这种情况下,LTRIM/RTRIM将模拟该函数。此外,一些方言支持在HQL中直接使用LTRIM/RTRIM。