代码之家  ›  专栏  ›  技术社区  ›  Pulle

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

  •  0
  • Pulle  · 技术社区  · 8 年前

    我通过nhibernate选择两列组成一个表。

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

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

    有没有办法在不查询对象的情况下解决此问题,请检查其是否为null,如果为空,请再次查询?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Pulle    8 年前

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

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