Chcę wstawić do mojej tabeli kolumnę o nazwie "S", która otrzyma pewną wartość ciągu na podstawie wartości uzyskanej z kolumny tabeli.Wywołanie metody wewnątrz kwerendy Linq
Na przykład: for each ID (a.z)
Chcę pobrać jego wartość ciągu zapisaną w innej tabeli. Wartość łańcucha jest zwracana z innej metody, która pobiera ją przez zapytanie Linq.
- Czy można wywołać metodę z Linq?
- Czy powinienem zrobić wszystko w tym samym zapytaniu?
Jest to struktura informacji muszę dostać:
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;
Linię S = someMethod(a.z).ToString()
powoduje następujący błąd:
Unable to cast object of type 'System.Data.Linq.SqlClient.SqlColumn' to type 'System.Data.Linq.SqlClient.SqlMethodCall'.
Twoje pytanie jest dość niejasne (dla mnie w każdym razie) - jakie tabele to dotyczy ? Czy to Linq do Entities lub Linq to Objects? Pomocne mogą być również bardziej znaczące właściwości i nazwy tabel. – BrokenGlass
Przepraszam, jestem nowy w Linq, co masz na myśli Linq do Entities lub Linq to Objects? – user990635
Twój komunikat o błędzie oznacza, że korzystasz z Linq do SQL - tak właśnie uzyskujesz dostęp do bazy danych – BrokenGlass