EF 数据库的字段类型为float,C#类型为float时异常,Unable to cast object of type 'System.Double' to type 'System.Single

数据库的字段: 

类型:float    代表从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。(占用8字节) 
类型:real     代表从 -3.40E + 38 到 3.40E + 38 之间的浮点数字数据。(占用4字节)

而C#中: 
类型:double 代表从 -1.79769313486232e308 和 +1.79769313486232e308 之间的双精度 64 位数字(8字节)

类型:float    代表从 -3.402823e38 和 +3.402823e38 之间的单精度 32 位数字(4字节)

就是说数据库中没有double型,float就表示double值。 
sql server数据库字段类型与.net的数据类型的对应关系:

real(数据库)<--> float(.NET) 
float(数据库)<--> double(.NET)


原文地址:https://q.cnblogs.com/q/100412/

你可能感兴趣的:(EF 数据库的字段类型为float,C#类型为float时异常,Unable to cast object of type 'System.Double' to type 'System.Single)