当前位置: 首页 > 知识库问答 >
问题:

如何从LINQ的列列表中选择非空值

宋飞舟
2023-03-14

作为 LINQ 查询的一部分,我有一系列列,其中只有一列将包含一个值,如何将该单个值分配给变量而不必执行类似操作

myVal = column1.hasValue ? column1.value : column2.hasValue ? column2.value : column3.hasValue ? column3.value : etc

类似于这个问题,但用LINQ代替SQL。

不幸的是,用SQL处理数据库端的任何事情都不是一个选项。

共有1个答案

逑翰翮
2023-03-14
var values = new[]{ column1, column2, column3 };
var value = values.First(nullable => nullable.HasValue).Value;

或者更简洁地说:

var value = (column1 ?? column2 ?? column3).Value;
 类似资料:
  • 问题内容: 我正在使用Entity Framework Code First开发WCF RESTful Web服务。 我的桌子上有很多列。我这样做是为了获得特定用户: 在此表上,有一个密码列,我不想返回此列。 如何从该选择中排除密码列? 问题答案: 在select语句中指定所需的每一列:

  • 我有一个1+5列的表,如下所示。 MemberID==>表示Member_ID 我想运行一个查询,其中我获得的结果是Member_ID,Value,其中的值是非空值,来自5个值列中的任何一个。 如何在TSQL中做到这一点?谢谢你,史密斯

  • 问题内容: 假设我有一张桌子: 我需要获取仅提及一次的名称(在本例中为:乍得和蒂姆)。查询的是什么?谢谢。 问题答案: 您可以使用: Rextester演示

  • 本文向大家介绍如何从MySQL的varchar列中仅选择非数字值?,包括了如何从MySQL的varchar列中仅选择非数字值?的使用技巧和注意事项,需要的朋友参考一下 您需要为此使用REGEXP。语法如下 为了理解这个概念,让我们创建一个表。创建表的查询如下 使用insert命令在表中插入一些记录。查询如下 使用select语句显示表中的所有记录。查询如下 以下是输出 这是选择非数字值的查询 以下

  • 我有一个包含多个键列(key1,key2,...,keyN)。我想对表中符合特定条件的不同组合键进行计数(IsInError = false)。 基本上我想执行查询 从中选择 COUNT(*) 从表中选择不同的 key1, key2, ..., keyN 其中 IsInError = 'false') A 在数据表上。 我做了一些研究,发现对于一个只包含一个键(并且没有“where”)的表,我可以

  • 问题内容: 我正在使用SQL Server2012。我有一个包含90列的表。我试图仅选择包含数据的列。搜索后,我使用以下过程: 1-使用一个选择查询获取所有列的计数 2-将结果表转换为临时表 3-创建选择查询 4-执行此查询 这是我使用的查询: 问题是此查询太慢。是否有实现此目标的最佳方法? 笔记: 该表在主键Column上只有一个聚集索引,并且不包含任何其他索引。 表格不可编辑。 该表包含非常大