MSSQLServer に float がある場合、これを .NET で何にマップしますか?
Double に変換できますか、それとも数字を失いますか?
MSSQLServer に float がある場合、これを .NET で何にマップしますか?
Double に変換できますか、それとも数字を失いますか?
チェックアウト:
あなたの場合、SQL Server のネイティブ型floatは SQL Server CLR SqlDoubleにマップされ、次に.Net でDoubleにマップされます
更新 (2016 年 5 月) :
msdn ドキュメントの更新版: CRL パラメータ データのマッピング
C# には float 型がありますが、double にも問題なく変換されます。
私の記憶では、ほとんどの ORM ツールは、double や float のように精度を失わない Decimal 型にマップします。
これは、SQL float のサイズによって異なります。float(53) と同等の単純な "float" の場合、C# の double を使用する必要があります。float(24) 以下の場合は、C# float で十分です。または、double も同様に機能します。
Microsoft XSD によって生成された自動コードは、SQL float (デフォルトの float) を C# の double に変換します。
したがって、それは大きな間違いではないと示唆することができます。
デフォルトサイズのフロートを使用するまで。