Мы говорим о SqlCommand, который подразумевает Microsoft SQL Server. Насколько я знаю, SQL Server всегда поддерживал его.
Пока не ясно, делает ли это что-нибудь полезное. Я еще не нашел никого, кто действительно знает. Многие люди утверждают, что он не делает ничего полезного, и нет никакой разницы в производительности. Я хотел бы видеть доказательства так или иначе.
В другой базе данных (Firebird использует объект FbCommand) я знаю, что это может вызвать проблемы, если вы не будете осторожны. Если вы готовите заявление, но никогда не используете его, транзакция остается открытой навсегда. Нам пришлось удалить все приготовления из нашего кода для Firebird. Мы привыкли готовить все, что может быть выполнено несколько раз.