从IEnumerable查询

问题描述 投票:0回答:1

我有一个来自数据库上下文的linq,看起来像这样

var linq = from a in TableDataset
           select a;

其中:

public IEnumerable<TableView1> TableDataset
{
   return this.context.Set<TableView1>();
}

我希望有两个记录,而我得到了两个记录但是记录1和2的值是相同的。我尝试使用TableView1在sql db中直接查询,并且在那里看到了预期的值。任何线索为什么会这样?

c# sql linq dbcontext
1个回答
0
投票

如果数据库表包含唯一记录,那时候很容易通过使用DISTINCT选择唯一记录,但是当.NET DataTable包含重复记录时,那时候没有内置函数可以删除或从数据表中选择唯一记录。

我们可以将Distinct()与特殊的IEqualityComparer一起使用,以将具有相同字段的所有对象视为彼此的重复项。您可以在此处找到有关如何删除重复项的很好的解释:link

© www.soinside.com 2019 - 2024. All rights reserved.