У меня есть отображение, которое имеет две ссылки на два других отображения.
Во-первых, я бы создал подкритерии или псевдонимы?
Итак, у меня есть:
Base.Property1
Base.Property2
Base.Reference1.Property1
Base.Reference1.Property2
Base.Reference2.Property1
Base.Reference2.Property2
Я хочу спроецировать свой запрос натолько эти 6 свойств.
Мне удалось использовать проекции для запроса только для одной таблицы, но у меня возникают трудности, когда дело касается нескольких таблиц.
я бы сделал что-то вроде (для каждой ссылки): criteria.CreateCrtieria(bla)
.SetProjection(Projections.ProjectionList()
.Add(/*Add projections*/))
.SetResultTransformer(Transformers.AliasToBean(type));
Или просто создайте псевдонимы и получите прогнозы по исходным критериям, например, так:
criteria.CreateAlias("reference1", "r1").CreateAlias("reference2", "r2")
.SetProjection(Projections.ProjectionList()
.Add(Projections.Property("baseProperty1")
.Add(Projections.Property("r1.property1")
.Add(Projections.Property("r2.property2")) /*etc*/
.SetResultTransformer(Transformers.AliasToBean(baseType));
Я не знаю, еслипредыдущие две идеи на самом деле работают - кажется, они не работают, но я не знаю, потому ли, что я что-то забыл или они совершенно не в том духе.
Спасибо.