Все зависит от того, какие данные вы запрашиваете.
Тот факт, что вы используете JSON, не имеет никакого отношения к внедрению sql, а вызывает больше обращений к базе данных.
На стороне сервера не образуются никакие динамические sql.
1. Используйте хранимые процедуры (и не включайте динамический sql в хранимый процесс - если вы уверены, что используете sp_executesql, а не exec, так как sp_executesql может принимать параметризованный запрос 2. использовать параметризованные запросы
3. использовать ORM (например, платформу сущностей), которая в любом случае использует параметризованные запросы за кулисами.
старайтесь не использовать динамический sql - если вам нужно по какой-то причине, то убедитесь, что вы используете параметризованные запросы.
тогда на ваш результат с вашего контроллера просто верните
вернуть Json (yourModel);