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