C# C Linq表达式不能在数据结果中循环?
我试图循环通过IQueryable结果数据,但循环时出错C# C Linq表达式不能在数据结果中循环?,c#,linq,.net-core,linq-to-entities,C#,Linq,.net Core,Linq To Entities,我试图循环通过IQueryable结果数据,但循环时出错 var pivot = from f in query group f by new { Account = f.Account } into g select ne
var pivot = from f in query
group f by new
{
Account = f.Account
}
into g
select new
{
Account = g.Key.Account,
Com = g.Where(d => d.Party == "Com").Sum(d => d.Amount),
};
foreach (var item in pivot)
{
Console.WriteLine($"\t {item.Account} {item.Com}");
}
我只是想在我操作数据之后看看数据是什么
我收到的错误消息是:
System.InvalidOperationException异常
LINQ表达式的处理
'AsQueryableWhere\r\n来源:
导航树表达式\r\n值:
默认分组\r\n
表达式:未处理的参数:e6\r\n谓词:d=>
d、 参与方==\Com\'由“NavigationExpandingExpressionVisitor”指定
失败。这可能表明EF核心中存在缺陷或限制。看见
欲知详情
信息
下面是用于创建查询的查询
错误消息本质上是说LINQtoEntities无法将表达式充分转换为SQL。它必须将整个数据集加载到内存中进行处理。错误消息中的链接详细介绍了值得一读的问题 此错误是EF Core 3.0中的新错误。以前,EF会悄悄地将数据集加载到内存中,这通常会导致开发人员在没有意识到的情况下编写低效的查询 尝试通过将where子句移动到查询中group by之前来简化查询 这个表达式可能不是你所需要的,但我认为它很接近 在查询中从f开始 其中f.Party==Com 按f分组。按g分组 选择新{Account=g.Key,Com=g.Sumd=>d.Amount}
错误消息本质上是说LINQtoEntities无法将表达式充分转换为SQL。它必须将整个数据集加载到内存中进行处理。错误消息中的链接详细介绍了值得一读的问题 此错误是EF Core 3.0中的新错误。以前,EF会悄悄地将数据集加载到内存中,这通常会导致开发人员在没有意识到的情况下编写低效的查询 尝试通过将where子句移动到查询中group by之前来简化查询 这个表达式可能不是你所需要的,但我认为它很接近 在查询中从f开始 其中f.Party==Com 按f分组。按g分组 选择新{Account=g.Key,Com=g.Sumd=>d.Amount}
你有什么错误?请把它添加到问题中添加它,在bottom@NoobCoder请发布用于创建查询的代码variable@RonanThibaudau我在底部加了它。你有什么错误?请把它添加到问题中添加它,在bottom@NoobCoder请发布用于创建查询的代码variable@RonanThibaudau我已经在底部添加了它。谢谢你的信息,一旦声明了,它就更清晰了。我本来会做f.Pary==Com的,但是我需要在某个时候使用更多的party。谢谢你提供的信息,一旦声明出来,它就更加清晰了。我本来会做f.Pary==Com的,但我需要在某个时候使用更多的party
var query = from inn in db.InputTE.Take(getRecord)
join y in db.InputYEM on inn.YPerform equals y.YPerform
select new StageTwo
{
Party = inn.Party,
Account = y.Account,
Amount = inn.Amount
};