Tengo una lista que especifica los ID de varios objetos en mi base de datos. Quiero obtener el conjunto de objetos, todos de una tabla, que tienen esos ID y mantenerlos en ese orden exacto, y quiero que se ejecute como una consulta contra el DB (no consultas 'N').Entity Framework Query - Obtiene objetos en orden específico
Por ejemplo, tengo una lista de ID {5, 3, 6, 9}, y quiero recuperar una lista de objetos del Cliente con esos ID y mantenerlos en orden {Cliente (5, 'Bob'), Cliente (3, 'JimBo'), Cliente (6, 'Joe'), Cliente (9, 'Jack')}.
La cantidad de datos es lo suficientemente pequeña como para no tener que volver a ordenarla después de la consulta DB. Podría hacer todo esto en aproximadamente 15 líneas de código limpio (incluida la reordenación a mano), pero creo que debería haber una consulta LINQ de una o dos líneas en contra de EF que debería hacer esto fácilmente.
Gracias. Resulta que AsEnumerable no es necesario (lo comprobé con SQL Profiler), aunque también pensé que sería. Tengo que decir ... mis sentidos arácnidos hormiguean al usar Join para confiar en mantener el orden ordenado. Me pregunto si esa es una propiedad declarada de la documentación de Join in (si no podría cambiar en alguna versión futura de .NET, como por motivos de rendimiento). – pbarranis