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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.