Sto tentando di utilizzare una query HQL in un elemento <loader>
per caricare un'entità in base ad altre entità.Uso di nibernato <loader> elemento con query HQL
La mia classe è la seguente
public class ParentOnly
{
public ParentOnly(){}
public virtual int Id { get; set; }
public virtual string ParentObjectName { get; set; }
}
e la mappatura si presenta così
<class name="ParentOnly">
<id name="Id">
<generator class="identity" />
</id>
<property name="ParentObjectName" />
<loader query-ref="parentonly"/>
</class>
<query name="parentonly" >
select new ParentOnly()
from SimpleParentObject as spo
where spo.Id = :id
</query>
La classe che sto attemping per mappare in cima è SimpleParentObject, che ha la sua propria mappatura e può essere caricato e salvato senza problemi.
Quando chiamo session.Get <ParentOnly>
(id) SQL esegue correttamente contro il tavolo SimpleParentObject, e un oggetto ParentOnly viene istanziato (come posso scorrere il constructer), ma solo un null ritorna, piuttosto che il istanziata Oggetto ParentOnly.
Posso farlo con successo utilizzando un al posto dell'HQL, ma sto provando a crearlo in un database indipendente.
Qualche idea su come ottenere gli elementi <loader>
e <query>
per restituire un oggetto ParentOnly compilato ...?
Grazie
Matt
La query HQL è generato da uno strumento btw, per chiunque chiedendo perché si vorrebbe utilizzare questo. –