user3010406
user3010406

Reputation: 579

Duplicates In DataTable, Getting Last By Specifying Two Properties

I have a DataTable, with two columns of type String named ID and Value. These values are not required to be unique.

As I add to my DataTable throughout my application, at some point I am trying to get the last item that was added that meets the value of the two properties. For example, for all records where ID = 1 and Value = 2, there may be several. I need the last record.

I have been trying to use LINQ groupbys, the MyDataTable variable is my datatable.:

var groupQuery = from table in MyDataTable.AsEnumerable()
group table by new {column1 = table["PERSON_GU"], column2 = table["FIELD"]}
into groupedTable
select new
{
x = groupedTable.Key, // Each Key contains column1 and column2
y = groupedTable.Count()
};

I cant figure out how to make this select last though, it appears to return an anonymous type which is a little out of my development skill wheelhouse.

In summary, I have a datatable with two columns, I am trying to group my final datatable by these column values, and then get the last item.

Upvotes: 0

Views: 74

Answers (1)

Tim Schmelter
Tim Schmelter

Reputation: 460238

If you want the last DataRow of each group:

var groupQuery = 
    from table in MyDataTable.AsEnumerable()
    group table by new {column1 = table["PERSON_GU"], column2 = table["FIELD"]}
    into groupedTable
    select groupedTable.Last(); 

Upvotes: 1

Related Questions