Solución:
var p = ctx.People.OrderBy(p => (p.IsQualityNetwork == 1 || p.IsEmployee == 1) ? 0 : 1)
.ThenBy(p => p.Name);
Aquí hay una traducción de su SQL a LINQ.
var query = from p in ctx.People
let order = p.IsQualityNetwork || p.IsEmployee ? 0 : 1
orderby order, p.Name
select new
{
p.Name,
p.IsEmployee,
p.IsQualityNetwork,
}
He utilizado la sintaxis de consulta fluida para poder mostrarte la let
palabra clave. let
le permite declarar una variable de rango que luego se puede reutilizar en su consulta, esto puede ser muy útil si tiene un condicional que se usa en muchos lugares, o si necesita encadenar múltiples condicionales.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)