I have a DataTable which looks like this:
ID Name DateBirth
.......................
1 aa 1.1.11
2 bb 2.3.11
2 cc
IDvar rowsToDelete =
(from row in dataTable.AsEnumerable()
group row by row.ID into g
where g.Count() > 1
Name and keep first record) and select the rest select g.OrderBy( dr => dr.Field( "DateBirth" ) ).ThenBy( dr => dr.Field( "Name" ) ).Skip(1))
.SelectMany( g => g );
rowsToDelete.ForEach( dr => dr.Delete() );
dataTable.AcceptChanges();