-2

我怎样才能用 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();
4

1 回答 1

1

最简单的方法可能是使用GroupBy

var result = context.MyTable
                    .GroupBy(x => x.Field1)
                    .Select(g => new { Field1 = g.Key,
                                       Field2 = g.First().Field2 });

这可能会给出“a”或者它可能会给出“b”的Field2值......你还没有明确这是否重要,或者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);
于 2013-07-16T05:48:23.303 回答