2012-05-06 14 views
1

轉換我已經創建SQL Server 2008中有一個Result字段的數據類型FloatMedicalLabResult表。它是危險的浮動翻一番我的asp.net MVC應用程序

但是當我使用Entity Framework映射我的數據庫時,DBContext模板自動將Double數據類型分配給模型類上的我的Result字段。 所以,如果我嘗試寫一些東西如: -

float result = MedicalLabResult.Single().Result; 

然後Visual Studio會引發錯誤that it can not implicitly convert float to double,所以我不得不修改上面來: -

double result = MedicalLabResult.Single().Result; 

但由於數據類型爲Result字段在數據庫中是Float ,, 因此,將數據丟失Float轉換爲Double會有風險嗎? BR

回答

3

實體框架設計器做的都對。 sql server Float數據類型實際上是64位雙精度浮點數,它在CLR中的等效值是System.Double。如果你想存儲單精度浮點數,那麼你必須在sql中使用real。它被映射到CLR System.Single

有關SQL Server和CLR數據類型的更多參考,您可以去here