Linq to sql LINQ sum返回错误的结果

Linq to sql LINQ sum返回错误的结果,linq-to-sql,Linq To Sql,我有一个表,其中的行包含以下数字: 4191808.51 3035280.22 3437796.06 4013772.33 1740652.56 0 该表的总和为16419309.68 当我对该表执行Linq SUM查询时,它返回一个完全不同的数字:19876858.14 我用于求和的代码如下所示: IEnumerable<MyData> data = _myRepository.GetMatching(myValue); decimal sumSales = data.Sum(x

我有一个表,其中的行包含以下数字:

4191808.51
3035280.22
3437796.06
4013772.33
1740652.56
0
该表的总和为
16419309.68

当我对该表执行Linq SUM查询时,它返回一个完全不同的数字:
19876858.14

我用于求和的代码如下所示:

IEnumerable<MyData> data = _myRepository.GetMatching(myValue);
decimal sumSales = data.Sum(x => x.Sales);
IEnumerable data=\u myRepository.GetMatching(myValue);
十进制sumSales=data.Sum(x=>x.Sales);

这可能是什么原因造成的?我怀疑某个最大十进制值,但找不到有关该值的信息。请检查您的

IEnumerable<MyData> data = _myRepository.GetMatching(myValue);

获取:16419309.68

请在此处写下您的查询。配置文件/查看sql生成器如果其中一个返回的数字是decimal.MaxValue-您将无法进行求和,因为它将比decimal变量sumSales具有更多
decimal[] data = {
    4191808.51m
    ,3035280.22m
    ,3437796.06m
    ,4013772.33m
    ,1740652.56m
    ,0m
};

decimal sumSales = data.Sum();
sumSales.Dump();