2010-07-06 72 views
0

我有類似如下,我需要回到與我傳遞的字母開頭的所有組的方法:如何獲得以特定字母開頭的結果?

public IList<CompanyGroupInfo> GetGroupByQuery(string letter) 
{ 
    IList<CompanyGroupInfo> result = null; 

    result = _session 
     .CreateCriteria<CompanyGroupInfo>() 
     .Add(SqlExpression.Like<CompanyGroupInfo>(g => g.Name, letter)) 
     .List<CompanyGroupInfo>(); 

    return (result.Count > 0) ? result[0] : null; 
} 

我全新的NHibernate的,所以我真的不知道該怎麼做。在我看來,如果有一個SqlExpression.StartsWith方法,它會是理想的,但沒有。它是那樣簡單修改的​​表達,使

 .Add(SqlExpression.Like<CompanyGroupInfo>(g => g.Name, letter)) 

變得像

 .Add(SqlExpression.Like<CompanyGroupInfo>(g => g.Name.StartsWith(letter))) 

有人可以請點我在正確的方向?由於

+0

可能重複的[如何獲得與NHibernate的第一個字母的清晰列表](http://stackoverflow.com/questions/3184957/how-to-get-a-distinct-list-of-first-letters-with-nhibernate ) – 2010-07-06 09:33:43

+1

@Ekberg甚至不會重複。 – chrissie1 2010-07-06 09:43:30

回答

2

只是在看文檔,我懷疑想:

SqlExpression.Like<CompanyGroupInfo>(g => g.Name, letter, MatchMode.Start) 

,但我還沒有使用的NHibernate的年齡......

1

我覺得這

SqlExpression.Like<CompanyGroupInfo>(g => g.Name, letter + "%") 
相關問題