Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 来自LINQ查询的和_Vb.net_Asp.net Mvc 3_Linq - Fatal编程技术网

Vb.net 来自LINQ查询的和

Vb.net 来自LINQ查询的和,vb.net,asp.net-mvc-3,linq,Vb.net,Asp.net Mvc 3,Linq,无法让它工作。要从以下LINQ语句中获取数据库中所有金额的总和: Dim currentPaid = From a In db.Payments Where a.ForJob = id Select a.Amount Dim totalPaid As Double = currentPaid.Sum() 正如它强调的第二个陈述所说: 重载解析失败,因为没有可

无法让它工作。要从以下LINQ语句中获取数据库中所有金额的总和:

        Dim currentPaid = From a In db.Payments
                          Where a.ForJob = id
                          Select a.Amount

        Dim totalPaid As Double = currentPaid.Sum()
正如它强调的第二个陈述所说:
重载解析失败,因为没有可访问的“Sum”接受此数量的属性。

用代码问了另一个问题,有人准确地回答了我的问题,因此答案如下:

Dim sum = (From a In db.Payments Where a.ForJob = id Select a.Amount).Sum();
  Dim totalPaid = db.Payments.Where(Function(a) a.ForJob = jobId).Sum(Function(a) a.Amount)

什么类型是当前支付的?您确定错误消息是
…属性数
而不是
参数数
?currentPaid是上面的LINQ查询吗?不确定我是否应该在LINQ语句中求和什么类型是
currentpayed
,它是
IEnumerable(字符串的)
IEnumerable(双精度的)
还是别的什么?尝试用类型声明它,您可能会看到编译器警告。如果
a.Amount
是f.e.字符串,则会出现异常,因为您无法对字符串求和。如果我选择了一个数字字段,则查询对我来说效果良好。什么类型是.Amount?我现在有一个错误:范围变量“Amount”隐藏封闭块中的变量或查询表达式中以前定义的范围变量。我现在有一个错误:范围变量“Amount”隐藏封闭块中的变量或查询表达式中以前定义的范围变量。您好,那么也许你应该删除这个问题。它只会导致重复和混乱。改善现有问题是一条出路。