Fidayn Geschrieben 3. März 2009 Geschrieben 3. März 2009 Hallo an alle Ich habe ein tool in Visual Studio 08 erstellt das mithilfe LINQ alle Users mit bestimmten Rechten aus mehreren My-SQL Datenbanken ausliest. Da bin ich jedoch auf etwas gestossen das ich nicht verstehe. totalUsers = (from u in db.Users join ug in db.User2UserGroups on u.Userid equals ug.Iduser join ugs in db.UserGroups on ug.Idgroup equals ugs.Id join cg in db.UserGroup2Categories on ugs.Id equals cg.Idgroup where cg.Idright == 3 select u).Distinct().Count(); Dieses LINQ Statement gibt den Wert 1 zurück, was aber nicht stimmt, ohne das ".Distinct()" gibt es 20 zurück, das stimmt. Nach längerem Suchen kamen wir dahinter das er mit ".Count()" etwas anderes oder falsch zählt aber warum? Mit Try & Error habe ich dan herausgefunden dass das Resultat stimmt wenn man AsEnumerable anfügt, also so: select u).Distinct().AsEnumerable().Count(); Aber das Intellicense von Visual Studio gibt an das es auch ohne das Enumerable sei.... Also das Problem wäre eigentlich gelöst, aber es nimmt mich doch trotzdem noch Wunder an was das lag, vielleicht kann mir es jemand von euch erklären. Gruss Fidi
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