Когда вы говорите, что SQL-число с плавающей запятой отображается в C # double, я думаю, вы предполагаете, что размер байта SQL-объекта с плавающей запятой такой же, как и размер C # двойного байта.
Я бы сказал, что C # double - единственный тип данных с плавающей точкой, достаточно большой, в C #, для хранения SQL-плавающего числа.
Пример:
C # Double = 8 байт
Sql Float = 4 байта
Простое решение вашей проблемы - использовать десятичный или числовой в вашем SQL