检查Null值并使用另一个而不用两次NHibernate查询项

时间:2017-12-21 10:35:42

标签: c# nhibernate lambda

我通过nhibernate从表中选择两列。

...
.Select(x => new dynamic[]{x.Value1, x.Value2})
.FirstOrDefault();

Value2可以为null,因此如果是这种情况,则应使用Value3代替。

有没有办法解决这个问题而不查询对象,检查它是否为null,如果是这样的话再次查询它?

1 个答案:

答案 0 :(得分:1)

您可以尝试在select lambda中使用三元运算符

...
Select(x => new dynamic[]{x.Value1, x.Value2 == null ? x.Value3 : x.Value2 })
.FirstOrDefault();