Максимальная точность, допустимая в SQL Server, составляет 38. Но десятичный тип данных SQL Server не сопоставляется с десятичным десятичным знаком .Net во всем его диапазоне.Десятичный тип .Net отображается только на SQL Server один в десятичном (29, X) диапазоне.( source )
Это означает, что если у вас есть десятичный столбец с точностью выше 29 и независимо от масштаба, вы не сможете использовать собственные данные .Nettype.
Попробуйте использовать тип SqlDecimal.
Полные правила типа SQL