Boa noite pessoal.
Estou iniciando um estudo sobre o NHibernate, e estou com um problema que não estou conseguindo solucionar, gostaria de saber se alguém poderia me auxiliar.
Tenho os seguintes mapeamentos…
<?xml version="1.0" encoding="utf-8" ?>
<!-- Chave primária -->
<id name="Id" column="Id">
<generator class="identity" />
</id>
<!-- Navegação de Request -->
<many-to-one name="Request" lazy="false">
<column name="RequestId" sql-type="int" not-null="true" />
</many-to-one>
<!-- Navegação de Course -->
<many-to-one name="Course" lazy="false">
<column name="CourseId" sql-type="int" not-null="true" />
</many-to-one>
<!-- Chave primária -->
<id name="Id" column="Id">
<generator class="identity" />
</id>
<!-- Coluna Identification -->
<property name="Identification">
<column name="Identification" sql-type="varchar" not-null="true" />
</property>
<!-- Coluna Price -->
<property name="Price">
<column name="Price" sql-type="money" not-null="true" />
</property>
<!-- Navegação de CourseType -->
<many-to-one name="CourseType" lazy="false">
<column name="CourseTypeId" sql-type="int" not-null="true" />
</many-to-one>
<!-- Navegação de Instructor -->
<many-to-one name="Instructor" lazy="false">
<column name="InstructorId" sql-type="int" not-null="true" />
</many-to-one>
Até aí tudo certo, o mapeamento está funcionando “corretamente”, porém quando tento fazer o agrupamento e a soma, a aplicação retorna o seguinte erro “could not resolve property: Course.Price of: Persistence.POCO.RequestDetail”
A forma que estou tentando efetuar o agrupamento e a soma é a seguinte:
var criteria = session.CreateCriteria(typeof(RequestDetail)) .SetProjection( Projections.ProjectionList() .Add(Projections.RowCount(), "RowCount") .Add(Projections.Sum("Course.Price"), "Price") .Add(Projections.GroupProperty("Request"), "RequestId") ) .AddOrder(Order.Asc("RequestId")) .SetResultTransformer(Transformers.AliasToEntityMap) .List();
Obs.: Quando eu retiro o código .Add(Projections.Sum("Course.Price"), "Price")
a aplicação me retorna o resultado corretamento.
Alguém já enfrentou esse problema?
Att.
Ricardo