Как нельзя использовать SQL запрос в C#

Довольно недавно наткнулся на интересную особенность работы .NET провайдера для Postgres. Возникает эта особенность причём только при выполнении запросов через провайдер, при выполнении аналогичных запросов к базе из командной строки либо через менеджер такого не происходит.

Итак в чём суть:
Предположим нам необходимо найти значение поля NAME где поле ID равно 1. В случае если такое значение существует, то всё хорошо. Если нет — то .NET провайдер создаёт ошибку, вместо того чтобы вернуть Null. Разумеется при довольно большом количестве обращений и таких ошибок — сервер рано или поздно отключает клиента.


( Читать дальше )