Click here to Skip to main content
Rate this: bad
Please Sign up or sign in to vote.
See more: C# LINQ
I have a datatabel, in which I want to find any duplicated record(for example, the mobile phone number). I use following code in LINQ:
var list_mobile = dataTable_QueryResult.Rows.OfType<DataRow>().Select(x => x["mobile"].ToString());
var q_mobile = from x in list_mobile
           group x by x into g
           let count = g.Count()
           orderby count descending
           select new { Value = g.Key, Count = count };
foreach (var x in q_mobile)
    if (x.Count > 1)
        Label_Alarm.Visible = true;
It comes an error when some rows have been deleted - visiting the row that has been deleted. I want to use the Where() command to exclude those deleted rows, but I don't know how to code it in LINQ? Could anyone help me this ? Thanks!
Posted 21-Nov-12 15:14pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

I think RowState should work in this case,
Please try below code,
dataTable_QueryResult.Rows.OfType<datarow>().Where(s => s.RowState != DataRowState.Deleted).Select(x => x["mobile"].ToString());</datarow>
Let me know if it is not working for you, although i have not tried yet.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 410
1 Maciej Los 300
2 OriginalGriff 288
3 CHill60 190
4 Sinisa Hajnal 180

Advertise | Privacy | Mobile
Web02 | 2.8.141022.2 | Last Updated 23 Nov 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100