1

データ型が のフィールドを持つSQL サーバー 2008MedicalLabResultにテーブルを作成しました。ResultFloat

しかし、Entity Framework を使用してデータベースをマップすると、DBContext テンプレートはモデル クラスのフィールドにDoubleデータ型を自動的に割り当てます。Resultだから私が次のように何かを書こうとすると:-

float result = MedicalLabResult.Single().Result;

次に、ビジュアルスタジオでエラーが発生that it can not implicitly convert float to doubleするため、上記を次のように変更する必要がありました:-

double result = MedicalLabResult.Single().Result;

しかしResult、データベース内のフィールドのデータ型が であるため、変換するとデータが失わFloatれるリスクがありますか? FloatDouble ブラジル

4

1 に答える 1

3

エンティティフレームワークデザイナーはすべてを正しく行いました。SQL ServerFloatのデータ型は、実際には64ビットの倍精度浮動小数点数であり、CLRでの同等の数値はですSystem.Double。単精度浮動小数点を格納する場合はreal、SQLで使用する必要があります。CLRにマッピングされSystem.Singleます。

SQL ServerおよびCLRデータ型の詳細については、こちらをご覧ください。

于 2012-05-06T17:35:47.353 に答える