Distinct über Mehrere Spalten Entity Framework-LINQ
Was ist die LINQ-Äquivalent
Select DISTINCT A, B, C from TESTDB WHERE ALPHA =1
Ich versuche, so etwas wie dieses:
var data = TESTDB.WHERE(i=>i.ALPHA==1).SELECT(A,B,C).DISTINCT();
InformationsquelleAutor der Frage Nanu | 2012-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mithilfe von anonymen Objekten wird den trick tun:
InformationsquelleAutor der Antwort Risky Martin
Können Sie auch versuchen,
InformationsquelleAutor der Antwort sherebry
Wenn Sie es so:
es stellt sich heraus, dass distinctCount gleich 3. Warum ist das so? Scheint, dass standardmäßig Verschiedene unterscheidet zwischen Instanzen (obwohl alle Eigenschaften haben, die gleichen Werte, Sie sind drei Instanzen).
Sollten Sie implementieren benutzerdefinierter comparer, hier finden Sie den code Beispiel: http://msdn.microsoft.com/en-us/library/bb338049.aspx.
Aber ich bin mir nicht sicher, warum Sie wollen, wählen Sie drei Eigenschaften (A,B,C). Sie können auf einzelne Eigenschaft in dieser Weise:
Jedoch aus, um wählen Sie mehrere Eigenschaften, die Sie casten soll, das gesamte Objekt zu einer Klasse mit diesen Eigenschaften:
InformationsquelleAutor der Antwort wlabaj