LINQ中的GroupBy返回与SQL Server不同的结果

时间:2015-09-03 09:26:55

标签: c# sql linq group-by

我使用以下函数根据一个或多个字段删除IEnumerable<DataRow>中的重复值:

public static IEnumerable<DataRow> RemoveDuplicates(this IEnumerable<DataRow> rows, IEnumerable<string> fields)
{
    return rows
        .GroupBy(row => new MultiFieldComparer(fields.Select(f => row[f])))
        .Select(g => g.First());
}

E.g。如果字段为firstnamelastnameemail,则使用LINQ GroupBy的函数将仅返回具有不同值firstname的值,{{1 }}和lastname;

当我尝试使用以下查询在我的数据库上模拟此行为时 我得到不同数量的结果:

email

在我的函数中,我利用了SELECT firstname,lastname,email FROM myTable GROUP BY firstname,lastname,email 我用来根据多个字段进行比较。这是这个类的代码:

MultiFieldComparer

我想知道差异来自哪里?

0 个答案:

没有答案