LINQ: Używanie trójskładnikowego (?:) Z LINQ nie wystarczy, potrzebujesz „IF”, ale nie wydaje się, aby działało.
Próbuję dołączyć IF w moim LET w LINQ, ale nie mogę go uruchomić, wydaje się działać dla operatora trójskładnikowego, ale to jest PRAWDA lub FAŁSZ i muszę mieć więcej niż 2 opcje.
Myślę, że to dobrze to wyjaśnia
Zasadniczo mam zaznaczenie, które wybiera elementy za pomocą złączeń z bazy danych. Następnie otrzymuję status dla każdego rekordu, ale muszę utworzyć łączenie na osobnych tabelach w zależności od typu z products.type
var tst = from p in products join i in info on p.id equals i.pid
// if p.type = "home" then ...
let status = from s in homestatus
select new { status = s.status }
// if p.type ="offshore" then
let status = from s in offshorestatus
select new { status = s.status }
// if p.type ="internal" then
let status = from s in internalestatus
select new { status = s.status }
select new {
name = p.name,
status = status.StatusText
}
Ktoś ma jakieś pomysły, jak zrobić standardowy IF, abym mógł wybrać STATUS (niech), który chcę wykonać.
Z góry dziękuję