gpt4 book ai didi

c# - 如何使用 C# 使用 LINQ 从 SQL 执行类型转换的求和数据

转载 作者:太空宇宙 更新时间:2023-11-03 19:51:02 24 4
gpt4 key购买 nike

我试图总结一个类型为 nvarchar(7) 的列,我需要首先将数据转换为 decimal(18, 7)

我使用了这个 LINQ 查询:

var Data = queryBase.Select(q => new { totalVol = q.Collection.Sum(c => Convert.ToDecimal(c.Volume) }).FirstOrDefault();

但是我得到了一个异常(exception)

LINQ to Entities does not recognize the method 'System.Decimal ToDecimal(System.String)' method...

任何帮助将不胜感激。

最佳答案

错误很明显。 EF 未编程为将 Convert.ToDecimal 调用转换为 SQL。

一些选项:

  • 手动编写等效的 SQL 并使用 ExecuteQuery 调用它
  • 在您的数据之上创建一个 View ,将字符串转换为数字并进行查询。
  • 将所有数据拉入内存并在 Linq-to-Objects 中进行转换/求和。

关于c# - 如何使用 C# 使用 LINQ 从 SQL 执行类型转换的求和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39479071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com