【发布时间】:2017-07-14 22:09:52
【问题描述】:
使用 LINQ 和 lambda 表达式,我正在尝试将已提取的数据写入文本文件。
using (var contextDb = new TimoToolEntities())
{
using (var writeFile = new StreamWriter(saveTo))
{
var randomData = contextDb.WorkCenter_Operations.Where(d => d.Job_Number >= 1 && d.Part_Number.Length >= 1 && d.Oper_Number >= 1 )
.OrderBy(d => d.Oper_Number)
.GroupBy(d => d.Job_Number , d => d.Part_Number ).ToList();
foreach (var record in randomData)
{
Console.WriteLine(record.Job_Number + "," + record.Part_Number); // error here
}
}
Console.ReadLine();
}
我收到错误“IGrouping 不包含“名称”的定义,并且找不到接受“IGrouping”类型的第一个参数的扩展方法“名称”。
我环顾四周并相信这些对象是匿名的,但我无法找到可行的修复方法。
【问题讨论】:
-
如果将
record.Job_Number替换为record.Key会发生什么? -
这会起作用,但似乎没有办法指定作业编号或零件编号。它只是给出存储在record.key中的任何值
-
record.Key中存储了什么? -
Well IGrouping 大致是一个带有 Key 属性的集合,并且有据可查。真正的问题是什么?
-
尝试:Console.WriteLine(string.Format("Job_Number: {0} Part_Numbers: {1}", record.Key, string.Join(",", record)));跨度>
标签: c# entity-framework linq