Zum Inhalt springen

Linq Statement nicht AsEnumerable()/ Visual Studio/LINQ/MySQL


Empfohlene Beiträge

Geschrieben

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...