Я задаюсь вопросом, как можно было бы перевести строку sql в дерево выражений. В настоящее время, в Linq к SQL, дерево выражений переводится в sql оператор. Как делает на, идут другим путем? Как Вы перевели бы
select * from books where bookname like '%The%' and year > 2008
в дерево выражений в c#?
http://weblogs.asp.net/rajbk/archive/2007/09/18/dynamic-string-based-queries-in-linq.aspx
обновление
У Entity framework есть Entity SQL язык. Не уверен, что вы этого хотите.