может быть, вам поможет класс Linq.Dynamic. Попробовали ли вы это?
вы можете использовать его и создать строку, содержащую запрос и использовать его.
Google о "linq dynamic""вы найдете класс C #, который может использовать его в вашем приложении. Я могу отправить его вам по электронной почте; -)