我試圖返回給定屬性不爲空的所有實體。 問題是IsNotEmpty()
只適用於集合。以下是我迄今爲止採取的一般方法,顯然不起作用。Nhibernate ICriteria - 檢查屬性值長度
ICriteria lvCriteria = NHibernateHelper.GetCurrentSession()
.CreateCriteria(typeof(FunctionCall))
.SetMaxResults(100)
.AddOrder(Order.Desc("LogId"));
if (pvMsg.HasValue)
{
lvCriteria.Add(Restrictions.IsNotNull("Msg"))
.Add(Restrictions.IsNotEmpty("Msg"));
}
有什麼建議嗎?是否可以通過檢查屬性值的長度來實現這個結果?謝謝!
我要麼不理解你的代碼,要麼不明白什麼是不工作的。你能提供一些樣本輸入數據和一些樣本(預期與實際)輸出嗎? – 2010-01-23 11:23:04
消息只是一個文本字段,可以是空的,空的或包含一些值。我只想返回那些Msg屬性包含一些值的實體「FunctionCall」。 IsNotEmpty()僅適用於集合,而不適用於單個實體。 (即,如果列表包含項目,則返回true,但如果在單個屬性上使用則拋出異常)。 給定3個FunctionCall實體的屬性Msg有3個單獨的值「」,null和「ERROR」,我希望只有一個實體從我的查詢返回,其中包含「ERROR」。 – alan 2010-01-25 14:19:33