System.InvalidOperationException:'LINQ表达式'DbSet 。通过...分组( 来源:e => new { ExchangeName = e.ExchangeName, TimeFrame = e.TimeFrame, 符号= e.Symbol }, keySelector:e => e)'无法翻译。以一种可以翻译的形式重写查询,或者通过插入对AsEnumerable(),AsAsyncEnumerable(),ToList()或ToListAsync()的调用来显式切换到客户端评估。有关更多信息,请参见https://go.microsoft.com/fwlink/?linkid=2101038。
var query = from stick in context.EmaExchangeEventSpecifications
group stick by new { stick.ExchangeName, stick.TimeFrame, stick.Symbol } into g
select new { g.Key.ExchangeName, g.Key.TimeFrame, g.Key.Symbol, Count = g.Count() };
var results = query.ToList();
我需要更改些什么才能翻译此查询?也许Cosmos不支持此功能?
答案 0 :(得分:0)
在EF Core 3.x中,“分组依据”子句的工作方式已发生重大变化。不再支持许多以前受支持的表达式:
答案 1 :(得分:0)
我们现在有一个工作项来启用此支持。您可以从这里跟踪。 https://github.com/Azure/azure-cosmos-dotnet-v3/issues/1202
谢谢。