J'ai le nom de Queryé, dont le résultat me plaît dans une classe.NHibernate Fluent and named Queries
<sql-query name="GetIndustryCodes">
<return class="IndustryCode">
<return-property name="Sector_kategorie" column="Sector_kategorie"/>
<return-property name="Sector_scheme_reference" column="Sector_scheme_reference"/>
<return-property name="Group_Beschreibung" column="Group_Beschreibung"/>
</return>
<![CDATA[
select * from
(
select
lvl1.sprach_iso_cd,
lvl1.kategorie Sector_kategorie,
lvl1.scheme_reference Sector_scheme_reference,
lvl1.Beschreibung Sector_Beschreibung,
lvl2.kategorie Group_kategorie,
lvl2.scheme_reference Group_scheme_reference,
lvl2.Beschreibung Group_Beschreibung,
lvl3.kategorie Industry_kategorie,
lvl3.scheme_reference Industry_scheme_reference,
lvl3.Beschreibung Industry_Beschreibung,
lvl4.kategorie Subindustry_kategorie ,
lvl4.scheme_reference Subindustry_scheme_reference,
lvl4.Beschreibung Subindustry_Beschreibung
from StagingDb.Rds.GR3_S_R10916_TX lvl1
left join StagingDb.Rds.GR3_S_R10916_TX lvl2
on lvl2.sprach_iso_cd = lvl1.sprach_iso_cd
and lvl2.kategorie = 'MSCIS&PGroup'
and lvl1.scheme_reference = substring(lvl2.scheme_reference,1,2)
left join StagingDb.Rds.GR3_S_R10916_TX lvl3
on lvl3.sprach_iso_cd = lvl1.sprach_iso_cd
and lvl3.kategorie = 'MSCIS&PIndustry'
and lvl2.scheme_reference = substring(lvl3.scheme_reference,1,4)
left join StagingDb.Rds.GR3_S_R10916_TX lvl4
on lvl4.sprach_iso_cd = lvl1.sprach_iso_cd
and lvl4.kategorie = 'MSCIS&P'
and lvl3.scheme_reference = substring(lvl4.scheme_reference,1,6)
where lvl1.kategorie = 'MSCIS&PSector'
) t
where t.sprach_iso_cd ='en'
]]>
</sql-query>
J'ai aussi une classe C#
public class IndustryCode
{
public virtual string Sector_kategorie { get; set; }
public virtual string Sector_scheme_reference { get; set; }
public virtual string Sector_Beschreibung { get; set; }
public virtual string Group_kategorie { get; set; }
public virtual string Group_scheme_reference { get; set; }
public virtual string Group_Beschreibung { get; set; }
public virtual string Industry_kategorie { get; set; }
public virtual string Industry_scheme_reference { get; set; }
public virtual string Industry_Beschreibung { get; set; }
public virtual string Subindustry_kategorie { get; set; }
public virtual string Subindustry_scheme_reference { get; set; }
public virtual string Subindustry_Beschreibung { get; set; }
}
Maintenant, tout en commençant le programme que je reçois le exceptione Une configuration incorrecte ou incomplète a été utilisée lors de la création d'une SessionFactory. Vérifiez la collection PotentialReasons et InnerException pour plus de détails.
InnerExceptioné "La clé donnée n'était pas présente dans le dictionnaire."
Si j'utilise la requête sans la classe de retour, alors cela fonctionne bien sauf que j'obtiens la valeur de retour non mappée dans une classe. Mais la classe est définitivement dans l'assemblée. Comment mapper la requête dans une classe?
Merci beaucoup