OrderBy ("it" + sort) - ¿Codificación dura en el marco de LINQ to Entity?

He estado tratando de usar LINQ to Entity dinámico en mi aplicación para especificar el atributo OrderBy en tiempo de ejecución. Sin embargo, al usar el código como se describe en la mayoría de la documentación:

var query = context.Customer.OrderBy("Name");

Recibí la siguiente excepción:

System.Data.EntitySqlException: 'Nombre' no se pudo resolver en el ámbito o contexto actual. Asegúrese de que todas las variables referenciadas estén dentro del alcance, que los esquemas requeridos estén cargados y que los espacios de nombres estén referenciados correctamente.

Después de mucho buscar encontré esta página de MSDN:

http://msdn.microsoft.com/en-us/library/bb358828.aspx

Que incluía el siguiente ejemplo de código:

ObjectQuery<Product> productQuery2 = productQuery1.OrderBy("it.ProductID");

Esto me llevó a cambiar mi código a lo siguiente:

var query = context.Customer.OrderBy("it.Name");

Después de esto, el código funciona perfectamente. ¿Alguien podría confirmar que esta es realmente la forma correcta de hacer que OrderBy trabaje con LINQ to Entity? No puedo creer que el marco se haya implementado de esta manera, ¿tal vez he pasado por alto algo?

Gracias Matt

Respuestas a la pregunta(2)

Su respuesta a la pregunta