1
我非常需要幫助。Nhibernate Criteria進行動態查詢並獲得行計數
我正在使用標準動態查詢:
ICriteria query = session.CreateCriteria(typeof(Employee));
if (searchOptions.FirstName != null)
{
query.Add(Expression.Eq("FirstName", searchOptions.FirstName));
}
if (!searchOptions.LastName != null)
{
query.Add(Expression.Eq("LastName", searchOptions.LastName));
}
if (searchOptions.PhoneNumber != null)
{
query.CreateCriteria("PhoneNumbers")
.Add(Expression.Like("Number", searchOptions.PhoneNumber + "%"));
}
這個我需要有兩個總行數和分頁後。
對於分頁:
query.SetFirstResult(0).SetMaxResults(8);
的行數:
query.SetProjection(Projections.RowCountInt64());
我怎樣才能既在一個查詢或者通過使用多標準或別的東西執行。
請幫忙!
你測試過這個性能嗎?它是否真的改善了它,並通過多少? – 2011-01-19 16:41:44
我會回答我自己的問題。簡而言之,根據ayende的說法,這個數字大約是25%-30%。請參閱http://ayende.com/Blog/archive/2009/04/27/nhibernate-futures.aspx – 2011-01-19 17:56:23