LINQ: usar un ternario (?:) Con LINQ no es suficiente, necesita un "SI" pero parece que no puede hacerlo funcionar

Estoy tratando de incluir un IF en mi LET en LINQ pero no puedo hacerlo funcionar, parece funcionar para el operador ternario, pero esto es VERDADERO o FALSO y necesito tener más de 2 opciones.

Creo que esto lo explica bien.

Básicamente, tengo una selección que selecciona elementos utilizando uniones de una base de datos. Luego obtengo el estado de cada registro pero tengo que hacer una combinación en tablas separadas dependiendo del tipo de 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
}

Cualquiera tiene alguna idea de cómo hacer un IF estándar para que pueda seleccionar el ESTADO (dejar) que deseo ejecutar.

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta