我通过nhibernate从表中选择两列。
...
.Select(x => new dynamic[]{x.Value1, x.Value2})
.FirstOrDefault();
Value2
可以为null,因此如果是这种情况,则应使用Value3
代替。
有没有办法解决这个问题而不查询对象,检查它是否为null,如果是这样的话再次查询它?
答案 0 :(得分:1)
您可以尝试在select lambda中使用三元运算符
...
Select(x => new dynamic[]{x.Value1, x.Value2 == null ? x.Value3 : x.Value2 })
.FirstOrDefault();