ASP.NET MVC, LINQ undgå at outputet gentages mere end en gang.

Tags:    asp.net

Hej udviklere, nu har jeg forsøgt et par dage at løse denne problemstilling selv, men kan desværre ikke. Så jeg tænker et par friske øjne måske kan se hvad jeg gør forkert, og hvorfor det ikke virker som det skal.

Pointen er jeg prøver at joine to tabeller med LINQ, i et MVC project, jeg forsøger så at bruge Distinct, så en værdi ikke flere udskrevet mere end en gang.

Vil gerne have clubnavnet ikke forekommer mere end en gang.

Her er et kode eksempel på min controller og view.

Fold kodeboks ind/udCSharp kode 


Fold kodeboks ind/udCSharp kode 







2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Nu er jeg ikke lige helt inde i Linq, men du kalder Distinct på din ViewModel som indeholder både ClubName og Time, hvilket gør at der kun fjernes duplikater som har præcis det samme. Hvis du kun vil have en række/ViewModel per ClubName er du nød til at finde ud hvad du vil gøre med Time? F.eks, givet disse 2:

ClubName = AAB, Time = X
ClubName = AAB, Time = Y

Hvad vil du forvente at Z bliver i følgende:

ClubName = AAB, Time = Z

Vil du bare have et tilfældigt par? Eller er Time en værdi og du vil have summen, eller gennemsnittet?

Hvis du vil have summen kan du gruppe dine rækker på ClubNavn og lave en aggregering (her sum). Noget i stil med dette:

Fold kodeboks ind/udCSharp kode 




Ja, det kan jeg godt se. Men jeg fik løst min problemstilling :)



t