我有这个问题:
var group = query.GroupBy(x => new
{
...
TestName = isSelected ? x.ClassA.Name : ""
});
var select = group.Select(y => new MyResultDTO()
{
...
TestName = isSelected ? y.First().ClassA.Name : ""
});
这并不令人担忧......我收到了一个错误:
列'tblClassA.Name'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
但如果我将我的groupBy改为only(采用condicional子句):
TestName = x.ClassA.Name
工作正常...... 任何想法我怎么能做那个condicional GroupBy / Select?
我正在使用NHibernate 3.3.1
保
答案 0 :(得分:1)
不确定你想要达到什么目标,但你是否尝试过写作?
var select = group.Select(y => new MyResultDTO()
{
...
TestName = y.Key.TestName
});
此外,您可以为您的小组尝试类似的内容:
var group = query.Where(isSel=>isSel.isSelected).GroupBy(x => new
{
...
TestName = x.ClassA.Name
})
.Union(query.Where(isSel=>!isSel.isSelected).GroupBy(x => new
{
...
TestName = ""
});
希望这会有所帮助