射影で文字列のコレクションを取得するのに問題があります: 次のクラスがあるとします。
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
}
次に、WorkSet.Title、WorkSet.PartTitles、および Id を取得するワーク ID のリストを取得します。
私の考えは、次のようなことをすることでした:
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();
Id と Title は正常にロードされますが、PartTitles は null を返します。提案してください!