Как правило, вы можете вызывать методы в LINQ без проблем.
Проблема, с которой вы здесь сталкиваетесь, специфична для LINQ to Entities. L2E должен перевести все ваши вызовы методов в соответствующие операторы базы данных, а для вызванного вами метода он не знает, как его перевести.
Вы можете переписать функцию hello (), чтобы получить выражение:
public Expression<Func<string>> hello() {
return () => "8";
}
таким образом L2E может переводить утверждения. Если это работает, конечно, зависит от вашего реального кода.