public virtual void QueryProjection()
{
using (var session = RepositoryFactory.StartUnitOfWork())
{
var query = _roomBaseRepository.GetCommand<IProjectionQuery>()
.DoProjection()
.OrderBy(proj => proj.HotelName)
.OrderBy(proj => proj.RoomName);
var pagedResult = query.ToPage(2, 2);
Assert.AreEqual(2, pagedResult.Length);
Assert.AreEqual("105", pagedResult[0].RoomName);
Assert.AreEqual("201", pagedResult[1].RoomName);
Assert.AreEqual(8, query.Count());
var result = query.ToArray();
Assert.AreEqual("101", result[0].RoomName);
Assert.AreEqual("102", result[1].RoomName);
Assert.AreEqual("103", result[2].RoomName);
Assert.AreEqual("104", result[3].RoomName);
Assert.AreEqual("105", result[4].RoomName);
Assert.AreEqual("201", result[5].RoomName);
Assert.AreEqual("202", result[6].RoomName);
Assert.AreEqual("203", result[7].RoomName);
}
}