按两列分组并在C#中获取最后一个值

时间:2016-07-01 10:03:50

标签: c# sql linq

我有一个对象列表。我想从两列中对此列表进行分组,并获取此列的最后一个值。

我也想拥有该对象的整个副本。

我写了这段代码:

var FileDaInviare = info.FNAVB00R.ToList();
var FileDaInvNew = from c in FileDaInviare
                   group c by new
                   {
                      c.Progressivo_Gemap,
                      c.Committente_Gemap,
                   } into gcs
                   select new FNAVB00R()
                   {

                   };
                   FileDaInvNew = FileDaInvNew.ToList();

但是使用这段代码我只有组的第一个值(我想要最后一个),对象是空的。我希望直接复制整个对象,请包含数百列。

感谢所有

1 个答案:

答案 0 :(得分:1)

您可以使用Last扩展方法。

FileDaInvNew = FileDaInviare.GroupBy(g=> new {g.Progressivo_Gemap, g.Committente_Gemap})
             .Select(x=>x.Last())
             .ToList()