質問

mssqlserverにフロートを持っている場合、これを.netにマッピングしますか?

ダブルに変換できますか、それとも数字を失いますか?

役に立ちましたか?

解決

SQLサーバー float およびC#/VB double 同じ表現を持っています。これは正しいマッピングです。あなたがしたくないのは、SQL Serverのマップです float C#/VBへ float それは精度の損失を伴う可能性があるためです。 SQLサーバー real C#/VBにマップします float.

T-SQLフロートと実際のタイプの定義はで見つけることができます MSDN. 。 C#二重定義はで見つけることができます MSDN 同様に、フロートもそうです 意味.

他のヒント

チェックアウト:

あなたの場合、SQL Serverネイティブタイプ 浮く SQL Server CLRへのマップ sqldouble その後 ダブル .netで

更新(2016年5月):

MSDNドキュメントの更新バージョン: CRLパラメーターデータのマッピング

C#にはフロートタイプがありますが、同様にダブルに変換されます。

私の回想から、ほとんどのORMツールはそれを小数型にマッピングしますが、これはダブルやフロートのような精度を失いません。

SQLフロートのサイズに依存します。フロート(53)に相当するプレーン「フロート」の場合、C#ダブルを使用する必要があります。フロート(24)または低いC#フロートで十分であるか、ダブルも機能します。

Microsoft XSDによって生成された自動コードは、SQLフロート(デフォルトフロート)をC#ダブルに変換します。
だからあなたはそれが大きな間違いではないことを示唆することができます。
デフォルトサイズのフロートを使用するまで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top