Ich habe folgende SQL-Abfrage für die Suche nach 2. Max Gehalt.
%Vor%Ich möchte es in Linq-Anweisung konvertieren.
Ich denke, was Sie fragen, ist, den Angestellten mit dem zweithöchsten Gehalt zu finden?
Wenn ja, wäre das etwas wie
%Vor%Wenn mehrere Mitarbeiter das gleiche Gehalt haben und Sie einen IEnumerable aller Mitarbeiter mit dem zweithöchsten Gehalt zurückgeben möchten, können Sie Folgendes tun:
%Vor%(kudos an @ diceguyd30 für das Vorschlagen dieser letzten Verbesserung)
Sie können die Vergleichsklasse wie folgt definieren:
%Vor%und benutze es wie folgt:
%Vor%oder ohne Vergleich (in zwei Zeilen):
%Vor% Bearbeiten: Wie Ani gesagt hat, um mit sql zu arbeiten, sollten Sie tun: var lst = myDataContext.Employees.AsEnumerable();
, aber wenn es für kommerzielle Software ist, ist es besser, TSQL zu verwenden oder einen anderen linq Weg zu finden.
Mit LINQ können Sie das dritthöchste Gehalt wie folgt finden:
%Vor%