我有一個表與包含類似於以下的數據的名稱字段:如何獲得以NHibernate開頭的結果?
A1
A2
B1
C1
1A
1B
2A
9B
我試圖只選擇以數字開頭的行值。
我想用下面的查詢要做到這一點,但它不工作:
var numberGroups = _session
.CreateCriteria<CompanyGroupInfo>()
.Add(SqlExpression.Between<CompanyGroupInfo>(g => int.Parse(g.Name.Substring(0, 1)), 0, 9))
.List<CompanyGroupInfo>();
它拋出的錯誤:
Unrecognised method call in epression Parse(g.Name.Substring(0, 1))
記下「表達」錯字 - 這是NHibernate的,不是我:-)
有人可以建議我如何才能達到我期待的結果嗎?謝謝
編輯:我試過喬恩的建議,以及SqlExpression.Not<CompanyGroupInfo>(g => !char.IsLetter(g.Name.Substring(0, 1).ToCharArray()[0]))
,但他們都拋出類似的錯誤,我上面發佈。
類似或一模一樣? – 2010-07-07 15:00:58
類似的,它代替'eppression Parse(g.Name.Substring(0,1))'中的'無法識別的方法調用',它將是'epression中的無法識別的方法調用g.Name.get_Chars(0)'或'Unrecognized method調用Epression IsLetter(g.Name.Substring(0,1).ToCharArray()[0])' – DaveDev 2010-07-07 15:30:37