我想填写以下对象。我当前的解决方案已对字符串LabelType
和Language
进行了硬编码。这可以避免吗?
public class UniqueLabel
{
public string LabelType { get; set; }
public Language Language { get; set; }
}
public IEnumerable<UniqueLabel> GetAllDistinctLabelTypeElements()
{
var query = Session.QueryOver<Element>();
query.Select(Projections.Distinct(Projections.ProjectionList()
.Add(Projections.Property<Element>(e => e.ColumnName).As("LabelType"))
.Add(Projections.Property<Element>(e => e.LanguageCode).As("Language"))
));
query.TransformUsing(Transformers.AliasToBean<UniqueLabel>());
return query.List<UniqueLabel>();
}
所以我最终会得到类似的东西:
.Add(Projections
.Property<Element>(e => e.ColumnName)
.As<UniqueLabel>(l => l.LabelType))
我尝试重命名UniqueLabel
中的属性以匹配Element
中的属性但不起作用。