Я использую NHibernate для веб-приложения.У меня есть такая модель:
public class ProductViewModel {
public virtual int Id { get; set; }
/* others simple properties */
public virtual IList<OfferViewModel> LastOffers { get; set; }
public ProductViewModel() { }
}
public class OfferViewModel {
public virtual string UserName { get; set; }
public virtual decimal Prince { get; set; }
public OfferViewModel() { }
}
Я хотел бы знать, как получить свойство коллекции LastOffers с помощью подзапроса HQL?Я хочу получить его с топ 10 последних предложений.У меня правильно сопоставлена модель, но я не знаю синтаксиса для выполнения подзапроса, извлекающего это свойство.
Сегодня я использую такую команду для извлечения моей ViewModel:
public IList<ProductViewModel> GetProductsForSalles()
{
return
Session.CreateQuery(@"select p.Id as Id,
p.Name as Name,
p.Price as Price,
p.Price as Date
/* FETCH LastOffers? */
from Product p
where p.Active=true and (p.Status=:Status)
order by a.Date asc")
.SetParameter("Status", Status.Started)
.SetMaxResults(50)
.SetResultTransformer(Transformers.AliasToBean<ProductViewModel>())
.List<ProductViewModel>();
}
Спасибо!