Avatar billede nidyahou Praktikant
30. september 2008 - 12:34 Der er 4 kommentarer og
1 løsning

Where In statement i LINQ

jeg har følgende statement:


var CompetentCrew = db.CrewMemberFunctions.Where(f => f.FunctionID == Curfunc.ID);   
var GetCompetentCrew = db.CrewMembers.Where(f => db.CrewMembers.Contains(CompetentCrew));

Det går altså ud på, først at hente fra crewmemberfunctions poster som matcher Curfunc.id (currentfunction id) og dernæst bruge den liste af ID'er i en in where clause, men hvordan får jeg skrevet den in where clause ordentligt. Lige nu er CompetentCrew ikke det rigtige format.
Avatar billede arne_v Ekspert
30. september 2008 - 15:07 #1
Umiddelbart ville jeg tro noget a la:

var CompetentCrew = db.CrewMemberFunctions.Where(f => f.FunctionID == Curfunc.ID); 
var GetCompetentCrew = db.CrewMembers.Where(f => CompetentCrew.Contains(f.Id));
Avatar billede nidyahou Praktikant
01. oktober 2008 - 11:33 #2
problemet er, at da det ikke er et array kan den ikke forstå det. Det her er min noget snørklede løsning:

                    var CompotentCrewIDs = from f in db.CrewMemberFunctions where f.FunctionID == int.Parse(funcDD.ID) select f;
                    var componentCrewIDsArr = new int[CompotentCrewIDs.Count()];
                    int i = 0;
                    foreach (CrewMemberFunction crewMembFunc in CompotentCrewIDs)
                    {
                        componentCrewIDsArr[i] = crewMembFunc.CrewMemberID;
                    }

                    var compotentCrewMembers = db.CrewMembers.Where(f => componentCrewIDsArr.Contains(f.ID));

men det må da kunne gøres kortere?
Avatar billede arne_v Ekspert
02. oktober 2008 - 02:16 #3
Hvad med:

var CompotentCrewIDs = from f in db.CrewMemberFunctions where f.FunctionID == int.Parse(funcDD.ID) select f;
var componentCrewIDsArr = (from crewMembFunc in CompotentCrewIDs select CrewMemberID).ToArray();
var compotentCrewMembers = db.CrewMembers.Where(f => componentCrewIDsArr.Contains(f.ID));
Avatar billede nidyahou Praktikant
18. oktober 2008 - 17:27 #4
drop svar :)
Avatar billede arne_v Ekspert
18. oktober 2008 - 17:38 #5
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester