2010-12-13 7 views
1

filtern Ich bin neu in LINQ-Konzept. Ich muss wissen, wie man den eindeutigen Wert Datum Tabelle nehmen LINQ mitIch muss eindeutigen Wert aus Datentabelle mit IEnumerable LINQ

Beispielcode:

IEnumerable<DataRow> query1 = 
          (from pmh in pshTable.AsEnumerable() 
          where 
          (pmh.Field<String>("DeletedType") != "D" && pmh.Field<String>("code").ToUpper() != "XXX.XX") 
          select pmh).OrderBy(a => a.Field<String>("Description")).Distinct(); 

in dieser Codierung i kann in der Lage verschiedene Reihe zu bekommen .aber ich nur bestimmte Spalte „Beschreibung“ Wert benötigen ist anders. Bitte lassen Sie mich wissen .. Wert

+2

Wenn mein Ansatz funktioniert für Sie, Mark es als Antwort, in der linken Hand meines antwort gibt es ein Tik, überprüfen Sie es :) –

Antwort

1

Was zum Beispiel wollen Sie Sie haben unten Tabelle:

ID | Description 
---------------- 
1 | Test 
2 | Test 
3 | Sample 
4 | Sample 

Was wollen Sie von Ihrem spezifischen Distinct zu bekommen? zum Beispiel {{1,Test},{3,Sample}} or {{1,Test},{4,Sample}} oder ...

aber Sie GroupBy und wählen zu tun ähnlich, was Sie wollen, verwenden können:

 (from pmh in pshTable.AsEnumerable() 
            where 
            (pmh.Field<String>("DeletedType") != "D" 
            && pmh.Field<String>("code").ToUpper() != "XXX.XX") 
            select pmh).OrderBy(a => a.Field<String>("Description")) 
     .GroupBy(p=>p.Field<string>("Description")) 
     .Select(p=>p.FirstOrDefault()); 
+0

Vielen Dank es funktioniert gut .. – raja

Verwandte Themen