je suis un peu ayant des difficultés à récupérer une collection de chaînes dans une projection: dire que j'ai les classes suivantesNHibernate Projections pour récupérer une collection?
public class WorkSet {
public Guid Id { get; set; }
public string Title { get; set; }
public ISet<string> PartTitles { get; protected set; }
}
public class Work {
public Guid Id { get; set; }
public WorkSet WorkSet { get; set; }
//a bunch of other properties
}
J'ai alors une liste de travail ids je veux récupérer WorkSet.Title, WorkSet. PartTitles et Id pour.
Mon tought était de faire quelque chose comme ceci:
var works = Session.CreateCriteria<Work>()
.Add(Restrictions.In("Id", hitIds))
.CreateAlias("WorkSet", "WorkSet")
.SetProjection(
Projections.ProjectionList()
.Add(Projections.Id())
.Add(Projections.Property("WorkSet.Title"))
.Add(Projections.Property("WorkSet.PartTitles")))
.List();
Les charges ID et le titre juste bien, mais la PartTitles retourne null. Suggestions, s'il vous plaît!
Vous pouvez également utiliser le chargement différé sur des propriétés uniques. –