Вы все еще можете использовать C # для этого. Вы можете использовать деревья выражений для построения. Да, это не очень интуитивно понятно, но позволяет динамически строить выражения и выполнять их. Я только недавно использовал деревья выражений для выполнения бизнес-правил, хранящихся в базе данных, и это работает.