在类似的查询中:获取System.InvalidCastException或不获取

时间:2018-01-11 09:48:03

标签: c# asp.net linq lambda linq-to-sql

我想从DB获取一个十进制值到一个变量。我正在

  

System.InvalidCastException:特定强制转换无效

来自此查询:

var result = Connection.Places.First(d => d.ID == 6).Rate;

但是,我没有从下面的方法中得到任何错误:

var result = GetRate(6);
public decimal GetRate(int id)
        {
            return (from d in conn.Places
                    where d.ID == id
                    select d.Rate).First();
        }

我在哪里做错了?

地方表设计在这里:

enter image description here

1 个答案:

答案 0 :(得分:0)

InvalidCastException表示存在convert问题。这可能是因为GetRate(int id)无法将结果转换为decimal数据类型。首先尝试检索结果,然后将其转换为decimal数据类型,然后返回结果