我有一个简单的选择,LINQ如此结构化:
var p = info.SpRicezioneSpedizioniLights
.Where(x => x.SPEDIZIONE_STATO_GENERAZIONE == "I")
.GroupBy(x => x.PROGRESSIVO);
foreach (var item in p)
{
// item. Do something
}
我必须使用不同的PROGRESSIVO选择SPRicezioneSpedizioniLights中的所有行并详细说明每一行。
当我尝试详细说明项目时,我有这个错误:
' System.Linq.IGrouping'不包含' ID'的定义没有扩展方法' ID'接受类型' System.Linq.IGrouping'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
做我想做的最好的方法是什么?
谢谢
答案 0 :(得分:1)
不使用特定的PROGRESSIVO,而是使用第一行的所有行 不同的PROGRESSIVO
问题是GroupBy的结果是System.Linq.IGrouping
对象,它包含带有一组元素的键。
因此,如果您需要组中的第一行,则可以使用FirstOrDefault()
方法。
var p = info.SpRicezioneSpedizioniLights
.Where(x => x.SPEDIZIONE_STATO_GENERAZIONE == "I")
.GroupBy(x => x.PROGRESSIVO)
.Select(x=>x.FirstOrDefault());
foreach(var item in p)
{
if (item != null)
item.SPEDIZIONE_STATO_GENERAZIONE = "G";
}
答案 1 :(得分:0)
您需要添加另一个ServerSocket server = new ...
Socket socket = server.accept()
...
循环来获取您的群组的详细信息。
foreach