检查空值并使用另一个代替而不查询项目两次 NHibernate

Check for Null Value and use another instead without querying item twice NHibernate

我正在通过 nhibernate 选择两列形成 table。

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

Value2 可以为空,因此如果是这种情况,则应改用 Value3

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

您可以尝试在 select lambda

中使用三元运算符
...
Select(x => new dynamic[]{x.Value1, x.Value2 == null ? x.Value3 : x.Value2 })
.FirstOrDefault();