Para poder hacer uso de sentencias if dentro de nuestras consultas por LINQ, haremos uso de Lambda.
¿Cómo utilizar un try y catch dentro de una consulta LINQ?
A continuación con un ejemplo te muestro como es posible hacerlo:
EntityDB db= new EntityDB(); var lst = from d in db.tabla.ToList() //es importante hacerlo lista select new TablaViewModel { id = d.id, //campo es string por lo cual //nuestra función delegada regresara igual string campo = (new Func<string>(() => { try { //utilizamos if if(d.alguncampo==1){ return "Activo"; }else{ return "Inactivo"; } } catch { //si ocurre un error return "Error"; } } ) )() };
De esta manera podemos manipular la información para lograr el resultado deseado.