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ę

questionAnswers(1)

yourAnswerToTheQuestion