如何获得以特定字母开头的结果?
问题描述:
我有类似如下,我需要回到与我传递的字母开头的所有组的方法:如何获得以特定字母开头的结果?
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)))
有人可以请点我在正确的方向?由于
答
只是在看文档,我怀疑你想:
SqlExpression.Like<CompanyGroupInfo>(g => g.Name, letter, MatchMode.Start)
,但我还没有使用的NHibernate的年龄......
答
我觉得这
SqlExpression.Like<CompanyGroupInfo>(g => g.Name, letter + "%")
可能重复的[如何获得与NHibernate的第一个字母的清晰列表](http://stackoverflow.com/questions/3184957/how-to-get-a-distinct-list-of-first-letters-with-nhibernate ) – 2010-07-06 09:33:43
@Ekberg甚至不会重复。 – chrissie1 2010-07-06 09:43:30