Jag har en lista som användaren kan välja vilka användare som skall inkluderas i en rapport.
Detta sker via checkboxar och jag skapar en collection av valen som är gjorda.
Kan man skicka in en collection i en linq fråga?
typ:
var result = (from t in table
where t.UserId.Equals(idcollection)
select t);
LINQ to SQL stöder inte det nej... Det var enbart LINQ to IENumerable. Du blir tvungen att bygga upp hela uttrycket eller använda Lambda (som i din länk).
Bygga upp uttrycket:
StringBuilder sb = new StringBuilder();
foreach (long id in idcollection) {
if (sb.Length > 0)
sb.Append(" OR ");
sb.Append("t.UserId==");
sb.Append(id.ToString);
}
var result = d.table.Where(sb).Select(result => new {result.[Fält], result.[Fält]});
I LINQ to SQL fungerar det finfint, men inte i LINQ to Entities (EF). Query-hanteringen i LINQ to SQL är ljudår (inte ljusår, det vore att överdriva) bättre än den i EF.
Dynamiskt uppbyggd Entity SQL eller den visade "extendern" är enda vägen just nu.
Det slutatde med att jag änvände extendern på http://sandrino.be/category/net/ado-ef-net/
Funkar perfa. Dock så har jag ett ställe där jag skall hitta alla som <b>Inte</b> finns i mon collection. Någon som vet hur man kan modifiera så att det fungerar?
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e