Ich möchte in meine Tabelle eine Spalte mit dem Namen 'S' einfügen, die basierend auf einem Wert, den sie aus einer Tabellenspalte erhält, einen Zeichenfolgewert erhält.Aufruf einer Methode innerhalb einer Linq-Abfrage
Zum Beispiel: for each ID (a.z)
Ich möchte es String Wert in einer anderen Tabelle gespeichert erhalten. Der Zeichenfolgenwert wird von einer anderen Methode zurückgegeben, die ihn über eine Linq-Abfrage erhält.
- Ist es möglich, eine Methode von Linq aufzurufen?
- Sollte ich alles in der gleichen Abfrage tun?
Dies ist die Struktur der Informationen, die ich erhalten müssen:
a.z is the ID in the first square in table #1, from this ID I get another id in table #2, and from that I can get my string value that I need to display under column 'S'.
var q = (from a in v.A join b in v.B
on a.i equals b.j
where a.k == "aaa" && a.h == 0
select new {T = a.i, S = someMethod(a.z).ToString()})
return q;
Die Linie S = someMethod(a.z).ToString()
den folgenden Fehler verursacht:
Unable to cast object of type 'System.Data.Linq.SqlClient.SqlColumn' to type 'System.Data.Linq.SqlClient.SqlMethodCall'.
Ihre Frage ziemlich unklar ist (für mich jedenfalls) - Welche Tabellen sind Sie auf ? Ist das Linq zu Entitäten oder Linq zu Objekten? Sinnvollere Eigenschaften und Tabellennamen könnten ebenfalls hilfreich sein. – BrokenGlass
Sorry, ich bin neu bei Linq, was meinst du mit Linq zu Entitäten oder Linq zu Objekten? – user990635
Ihre Fehlermeldung zeigt an, dass Sie Linq zu SQL verwenden - so greifen Sie auf die Datenbank zu – BrokenGlass