Murphy9904 Geschrieben 8. Dezember 2011 Geschrieben 8. Dezember 2011 Hi Leute, ich hab folgenden Sql Query: select * from [Bla].[dbo].[InventoryDeviceUser] where [DeviceUserID] in ( select MAX([DeviceUserID]) as ID from [Bla].[dbo].[InventoryDeviceUser] group by DeviceID ) und will den in Linq schreiben. bekomm das aber irgendwie nicht hin. soetwas wie Max gibts in Linq nicht.. (Die abfrage soll bewirken dass ich auf die DeviceUserID gruppiere und immer den neuesten eintrag will.) Wär cool wenn jemand helfen könnte.. Danke schonmal Murphy
a3quit4s Geschrieben 8. Dezember 2011 Geschrieben 8. Dezember 2011 (bearbeitet) Wie ist denn dein Ansatz in LINQ? soetwas wie Max gibts in Linq nicht.. Wohl aber bei Enumerables: MSDN Bearbeitet 8. Dezember 2011 von a3quit4s
Murphy9904 Geschrieben 8. Dezember 2011 Autor Geschrieben 8. Dezember 2011 naja im prinzip is mein Ansatz so wie in SQL nur dass ich dann hängen bleib from d in context.InventoryDeviceUsers where (from m in context.InventoryDeviceUsers select m.DeviceID /*Game Over */ ).Contains(d.DeviceID);[/code] Okay, und wie verwende ich das dann in diesem fall?
SilentDemise Geschrieben 8. Dezember 2011 Geschrieben 8. Dezember 2011 schau dir mal das Let keyword an.
Murphy9904 Geschrieben 9. Dezember 2011 Autor Geschrieben 9. Dezember 2011 Danke, ich hab jetzt schon ne lösung gefunden: var lastDeviceUserIDs = from entry in context.InventoryDeviceUsers group entry by entry.DeviceID into g select g.Max(d => d.DeviceUserID); gcOnlineScanners.ItemsSource = from idu in context.InventoryDeviceUsers where lastDeviceUserIDs.Contains(idu.DeviceUserID) select idu; klappt so wunderbar.. trotzdem danke an euch Murphy
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden