如何使用linq获得低于结果?
key salesID prodname
1 2566 a
2 2566 b
3 3647 c
4 3012 d
结果
salesID prodname
2566 b
3647 c
3012 d
我希望清除所有重复salesID
并使用此代码但不起作用
var n = (from p in context.ArefSms where p.Stautos != true select p).Distinct().OrderBy(x => x.SalesID).ToList();
答案 0 :(得分:1)
最简单的方法可能是使用GroupBy
:
var result = context.MyTable
.GroupBy(x => x.Field1)
.Select(g => new { Field1 = g.Key,
Field2 = g.First().Field2 });
这可能会给出“a”或者它可能会为Field2
值提供“b”...您还没有说清楚这是否重要,或者Field1
的重复值是多少基本上应该处理。
编辑:所以对于你的真实财产,我怀疑你想要:
var query = context.ArefSms
.Where(p => !p.Stautos)
.GroupBy(p => p.SalesID)
.Select(g => new { SalesID = g.Key,
ProdName = g.First().ProdName })
.OrderBy(x => x.SalesID);