Ich versuche, eine LINQ-Abfrage zu entwickeln, die testet, ob die Zeichenfolge aus einer Datenbank in einem Array ohne Teilstrings True zurückgibt, nur die gesamte Zeichenfolge.Anonyme multiple Eingabe-Funktion für Ausdruck in LINQ
Func<int, string[], bool> predicate = (i, x) => x.Any(i.ToString().Equals);
user.Company += (from c in context.Tbl_Institute
where (predicate(c.Institute_ID,values))
select c.Institute_Title + ","
).ToString();
Ich habe dies so weit, die kompiliert, sondern bietet mir eine Fehlermeldung aus: Der LINQ Ausdruck Knotentyp ‚Invoke‘ ist nicht auf Entitäten in LINQ unterstützt.
Welche von der Forschung scheint zu bedeuten, dass ich einen Ausdruck verwenden muss.
Dies kompiliert jedoch nicht.
Expression`<Func<int, string[], bool>> predicate = (i, x) => x.Any(i.ToString().Equals);`
Als predicate(c.Institude_ID,values)
hat einen Fehler beim Lesen "Methodenname erwartet".
Hat jemand Erfahrung damit? Ich bin ziemlich neu bei anonymen Funktionen.
EDIT: Wie hier angefordert ist der Code, der nicht kompiliert, ich entschuldige mich, wenn ich nicht klar war.
Expression<Func<int, string[], bool>> predicate = (i, x) => x.Any(i.ToString().Equals);
user.Company += (from c in context.Tbl_Institute
where (predicate(c.Institute_ID,values))
select c.Institute_Title + ",").ToString();
Ich sehe nichts offensichtlich falsch in dem winzigen Code, den Sie geteilt haben. Klingt wie etwas falsch mit der Deklaration von "Prädikat". Aber ohne ein gutes [mcve], das das Problem zuverlässig reproduziert, kann ich nicht auf etwas Bestimmtes hinweisen. Bitte verbessern Sie Ihre Frage. –
Diese Funktion kompiliert nicht selbst, wenn die Funktion in einen Ausdruck geändert wird. Nicht sicher, wie jeder andere Code hilft, wenn es explizit diese Funktion ist, die den Fehler zurückgibt. –
@AnthonyDrury - Ihr Code sieht ein bisschen seltsam aus. Sie rufen '.ToString()' auf einem 'IQueryable <>'. Sie müssen uns wirklich eine [mcve] zur Verfügung stellen. Das würde bedeuten, uns die minimale Menge an Code zur Verfügung zu stellen, die wir kopieren, einfügen und kompilieren könnten, um den Fehler zu sehen, den Sie bekommen. – Enigmativity