我正在尝试使用LINQ创建一个group by语句.我收到错误当前上下文中不存在名称’con’.
在select之后的代码中,我尝试获取ActivityID值,但列表’con’不可用.
List<Contribution> contributions = contLogic.GetAllContibutionsByActivityIDToList(ActivityID); var groups = from con in contributions group con by con.Response into gResponse select new { grop = gResponse.Count(),con.ActivityID };
我看过微软的样本,我不知道我做错了什么.
微软示例:
List<Product> products = GetProductList(); var orderGroups = from prod in products group prod by prod.Category into prodGroup select new { Category = prodGroup.Key,Products = prodGroup }; ObjectDumper.Write(orderGroups,1);
解决方法
con不在您的分组范围内.请注意,在Microsoft示例中,它们的原始查询元素是prod,但在分组之后,它们引用了prodGroup.
您的查询基于共同的响应将元素分组在一起,您实际上是“丢失”单个con以获得更大的整体.您可能需要扩展分组以包含比响应更多的条件,例如
group by new { con.Response,con.ActivityID }
然后通过ID参考ID
gResponse.Key.ActivityID
或者也许可以访问每个组中第一个元素的ActivityID
gResponse.First().ActivityID
如果没有关于您要完成什么的更多信息,我无法就您需要如何继续提供具体建议.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。