我有100条记录的表,在某些记录中,第一列和最后一列是相同的。在第一列和最后一列的基础上,我需要不同的记录。
例如,如果5行中的第一列和最后一列相同,则使其与众不同,并仅从数据库返回一条记录。我希望你能理解我的问题。
该表如下所示:
FirstField 2ndField Last Field
----------------------------------
a dd 10
a dd 20
b ff 50
a gg 10
a ng 10
DB.Information.Distinct().ToList();
预期输出:
a dd 10
a dd 20
b ff 50
答案 0 :(得分:0)
尝试如下:
var distinctRecords = DB.Information.GroupBy(i => new {i.FirstField, i.LastField})
.Select(g => g.FirstOrDefault()).ToList();
答案 1 :(得分:0)
您还可以使用Distinct()
var informations = DB.Information.Select(x=> new { x.FirstField , x.LastField }).Distinct().ToList();
在这里,首先我们选择要区分的列作为anonymous-type
像这样,您可以在linq中使用多列而无需GroupBy
来区分。