Si quieres hacer algo como esto en LINQ:
var query =
db.Customers.Where("City = @0 and Orders.Count >= @1", "London", 10).
OrderBy("CompanyName").Select("new(CompanyName as Name, Phone)");
Lo llevas claro, porque.NET no permite realizar LINQ dinámico. Para solucionarlo existe una librería que añadiéndola a tu proyecto podrás hacer cosas como la del ejemplo.
Para descargar la librería y unos ejemplos éste es el enlace o este.
Referencias
Dynamic LINQ(Parte 1: Usando la librería de LINQ Dynamic)