LINQ: Die Verwendung eines Ternärs (?:) Mit LINQ reicht nicht aus, benötigt ein "IF", scheint aber nicht zu funktionieren

Ich versuche, ein IF in mein LET in LINQ aufzunehmen, aber ich kann es nicht zum Laufen bringen, es scheint für den ternären Operator zu funktionieren, aber das ist WAHR oder FALSCH und ich muss mehr als 2 Optionen haben.

Ich denke, das erklärt es gut

Grundsätzlich habe ich eine Auswahl, die Elemente über Verknüpfungen aus einer Datenbank auswählt. Dann bekomme ich den Status für jeden Datensatz, aber ich muss einen Join für separate Tabellen machen, abhängig vom Typ von 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
}

Jeder hat eine Idee, wie man eine Standard-IF macht, damit ich auswählen kann, welchen STATUS (let) ich ausführen möchte.

Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage