Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
未为int定义LINQ.Count()_Linq - Fatal编程技术网

未为int定义LINQ.Count()

未为int定义LINQ.Count(),linq,Linq,我有下面的LINQ语句,并得到错误“'int'不包含'Count'的定义,并且找不到接受第一个'int'类型参数的扩展方法'Count'(是否缺少using指令或程序集引用?) od.recId.Count()是返回错误的部分。我对LINQ非常陌生(已经使用了大约2天),是一个新手程序员。我找到的答案都说包括system.core汇编参考,当然还有system.Linq使用。我有所有这些,所以我不确定交易是什么。我将WPF与.NET 4、EF和RIA服务以及MVVM模式一起使用。recID的类型

我有下面的LINQ语句,并得到错误“'int'不包含'Count'的定义,并且找不到接受第一个'int'类型参数的扩展方法'Count'(是否缺少using指令或程序集引用?)


od.recId.Count()是返回错误的部分。我对LINQ非常陌生(已经使用了大约2天),是一个新手程序员。我找到的答案都说包括system.core汇编参考,当然还有system.Linq使用。我有所有这些,所以我不确定交易是什么。我将WPF与.NET 4、EF和RIA服务以及MVVM模式一起使用。

recID
的类型是
int
,而不是
IEnumerable
Count()
仅在
IEnumerable
上定义。您将看到一个
分组依据
语句:

var queryFuture = from pqv in context.OrderPrintQueue_View
                          join od in context.Order_Details on pqv.confirmId equals od.ConfirmId
                          join pp in context.Product_Price on od.priceId equals pp.priceId
                          join p in context.Products on pp.productId equals p.ProductID
                          group od by od.recId into orders
                          select new { p.stationId, inProc = 0, OrderLinesCount = orders.Count() };

注意:我不确定
groupby
join
这两种组合是否有效,因为我通常只使用方法链。您可能需要调整运算符,但在任何情况下都需要一个
分组依据。

为什么要获取整数的计数?您可能得到的只是一个值,而不是一个集合,这似乎正是您所期望的。

不过,这看起来像是我想要得到的;p突出显示并表示:当前上下文中不存在名称“p”。非常抱歉,如果没有编译器,我就无法理解它;但我可以为您提供一个链接:。这应该会对你有所帮助,这与你的问题类似。虽然我不能用一个LINQ语句来做我想做的事情(我认为这是可能的),但知道我需要在某个时候对项目进行分组是有帮助的。
var queryFuture = from pqv in context.OrderPrintQueue_View
                          join od in context.Order_Details on pqv.confirmId equals od.ConfirmId
                          join pp in context.Product_Price on od.priceId equals pp.priceId
                          join p in context.Products on pp.productId equals p.ProductID
                          group od by od.recId into orders
                          select new { p.stationId, inProc = 0, OrderLinesCount = orders.Count() };