try this
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
class Class1
{
static void Main(string[] args)
{
List<MyEntity> lst = new List<MyEntity>();
lst.Add(new MyEntity() { ID = 1, Name = "a", Amount = 10 });
lst.Add(new MyEntity() { ID = 1, Name = "a", Amount = 20 });
lst.Add(new MyEntity() { ID = 2, Name = "b", Amount = 30 });
lst.Add(new MyEntity() { ID = 2, Name = "b", Amount = 40 });
lst.Add(new MyEntity() { ID = 2, Name = "b", Amount = 50 });
var lstOut = lst.GroupBy(k => new { k.ID, k.Name }).Select(x => new MyEntity() { ID = x.Key.ID, Name = x.Key.Name, Amount = x.ToList().Sum(k => k.Amount) }).ToList();
}
}
class MyEntity
{
public int ID { get; set; }
public string Name { get; set; }
public double Amount { get; set; }
}