I have used C# expressions before based on lamdas, but I have no experience composing them by hand. Given an Expression
I had the same issue as you and i fixed it like this with EF:
var viewModeValue = dbContext.Model.Select(m => new ViewModel{Field = m.Field}).Where(predicate) //predicate is an Expression>
Entity Framework knows how to build the correct sql command. Converting the expression is much more complicated, because it is built to be immutable and could cause undesired run time effects if you do something wrong, and, in my case at least, it is not needed.