我的数据库设计是这样的:
Column Name: ID ,Data Type: int
Column Name: No1 ,Data Type: float
Column Name: No2 ,Data Type: float
我的数据库条目是这样的:
ID No1 No2
1 64.25656 24.54465
2 64.25656 24.54465
3 64.25656 24.54465
我的代码是这样的:
public class JobInfo
{
public int ID { get; set; }
public float No1 { get; set; }
public float No2 { get; set; }
}
public class JobInfoRepository
{
using (var reader = command.ExecuteReader())
{
return reader.Cast<System.Data.IDataRecord>()
.Select(x => new JobInfo()
{
ID = x.GetInt32(0),
No1 = x.GetFloat(1),
No2 = x.GetFloat(2),
}).ToList();
}
}
注意:
我得到了
InvalidCastException未被用户代码处理:指定的强制转换无效。
当我在代码结尾处进行投射时。
答案 0 :(得分:0)
咨询SQL/C# type correspondence chart并注意到TSQL的float
对应System.Double
,而不是System.Single
(C#中的float
)。
因此,您应x.GetDouble
使用No1
和No2
。