在這種簡單的例子:NHibernate的尋呼性能(更好的選擇)
public class Person
{
public int Id {get;set;}
public int Name {get;set;}
}
- 我需要生成具有分頁功能的電網和訂貨
- 我的數據庫中有大約10萬的人
什麼選項有更好的表現:
1)獲取所有elemtents在第一時間之後NHibernate的一級緩存中佔據優勢,例如:
實驗值:AsPagination是一個擴展方法...
2)獲取例如:
public virtual IList<T> GetPaginedList(int __pageIndex, int __pageSize,out int __total)
{
var _rowCount = Session.CreateCriteria(typeof(T))
.SetProjection(Projections.RowCount()).FutureValue<Int32>();
var _results = Session.CreateCriteria(typeof(T))
.SetFirstResult(__pageIndex * __pageSize)
.SetMaxResults(__pageSize)
.Future<T>();
__total = _rowCount.Value;
return _results;
}
嗨弗雷德裏克,你能告訴我如何「導入」的觀點和查詢嗎?謝謝 – Paul 2011-01-26 14:19:33
嗨保羅,我已經在這裏回答了類似的問題,代碼示例:http://stackoverflow.com/questions/747382/only-get-latest-results-using-nhibernate – 2011-01-26 16:04:49