'select','where not null'和'distinct'上的意外linq行为(ADO.NET)

时间:2019-03-14 18:35:30

标签: c# linq null ado.net

在ADO.NET行的列表中,我想进行选择并从存在该数据的另一个表中获取相关数据。

我现在奇怪地注意到这两个查询的行为不同,第一个返回(在我的情况下)0,第二个返回1:

myRows.Select(row=>row.OtherRow).Where(row=>row!=null).Distinct()

myRows.Where(row=>row.OtherRow != null).Select(row=>row.OtherRow).Distinct()

我不知道为什么。据我所知(尽管从我的理解来看这也不重要),OtherRow中没有空值。有什么解释吗?

0 个答案:

没有答案