J'ai un problème avec les projections nHibernate. Je ne sais même pas si ce que j'essaye peut être fait mais si des experts de nHibernate peuvent m'aider, je serais reconnaissant. J'utilise les critères de nHibernate pour interroger une base de données et je renvoie le résultat projeté à un objet différent (aminci).NHibernate Projections Duplicates To List
-je obtenir une liste des retours comme
Id CompanyId Description
1 1 Desc1
1 2 Desc1
1 3 Desc1
2 1 Desc2
2 3 Desc2
3 1 Desc3
3 2 Desc3
3 3 Desc3
lorsque j'utilise cet objet
int Id
int CompanyId
string Description
Ce que je suis à la recherche est d'obtenir quelque chose comme
Id CompanyId Description
1 [1, 2, 3] Description
2 [1, 3] Description
3 [1, 2, 3] Description
De un objet comme celui-ci
int id
List`<int`> companyId
string description
Le code actuel je ressemble à
result = session.CreateCriteria<Object>()
.Add(Restrictions.Eq("SiteId", 616))
.SetProjection(Projections.Distinct(Projections.ProjectionList()
.Add(Projections.Property("Id"), "Id")
.Add(Projections.Property("CompanyId"), "CompanyId")
.Add(Projections.Property("Description"), "Description")
.SetResultTransformer(Transformers.AliasToBean<ObjectReduced>()).List<ObjectReduced>();
Je voudrais savoir s'il y a quelque chose ici que je peux faire pour y parvenir, ou même si cela est tout à fait fausse route et il y a quelque chose de mieux.
Merci, j'ai fini par récupérer une liste d'objets, puis mapper à ObjectReduced manuellement. J'ai utilisé votre code pour obtenir les groupes d'objets et ajouté quelques lignes de code pour le mappage. –