Я еще не видел этот проект, но похоже, что он просто компилирует запрос C# в динамическую сборку с использованием CodeDOM. Вот блог о том, как это работает:
http://kenanbek.com/site/post/dynamic-linq-queries-build-linq-queries-from-text-at-runtime/
Если используется динамическая компиляция, то он, вероятно, не имеют много ограничений. Разумеется, он сможет получить доступ к элементам, находящимся вне объекта, который вы передаете, в метод LinqTextQueryBuilder.SetSource()
.
Я использую что-то подобное Dynamic Linq в проекте, над которым я работаю, но это больше для синтаксического разбора выражений предложения и т.п., а не целых запросов. Он немного отличается в том, что он анализирует C# -подобное выражение непосредственно в дереве выражений, а не использует CodeDOM и динамическую сборку в качестве посредника. Поэтому это, вероятно, немного быстрее, но более ограничено.
http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx