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