作为LINQ查询的一部分,我有一系列列,其中只有一列将包含一个值,如何将该单个值分配给变量而不必执行类似
的操作myVal = column1.hasValue ? column1.value : column2.hasValue ? column2.value : column3.hasValue ? column3.value : etc
与this question类似,但使用LINQ而不是SQL。
不幸的是,使用SQL处理任何数据库端都不是一个选项。
答案 0 :(得分:6)
var values = new[]{ column1, column2, column3 };
var value = values.First(nullable => nullable.HasValue).Value;
或者更简洁:
var value = (column1 ?? column2 ?? column3).Value;