EF Core无法将不包含时间的日期组合翻译为SQL。

16 浏览
0 Comments

EF Core无法将不包含时间的日期组合翻译为SQL。

使用.NET 6和EF Core,我有以下代码:

var FileSizeMB_Grouped =
   _db.FileSizeMBs.GroupBy(x => x.CreatedDate.Date);

我从中得到以下错误:

无法翻译LINQ表达式“DbSet().GroupBy(x => x.CreatedDate.Date)”。要么以可翻译的形式重写查询,要么明确切换到客户端评估,通过插入'AsEnumerable'、'AsAsyncEnumerable'、'ToList'或'ToToListAsync'的调用。请参阅https://go.microsoft.com/fwlink/?linkid=2101038获取更多信息。

我知道原因,如果我使用.AsEnumerable(),它可以正常工作,因为它无法翻译成SQL,但是...

是否有任何方法可以直接将其翻译为SQL而不使用AsEnumerableRawSqlQuery

我已经阅读了很多类似的帖子:

但是...

  • .Date属性无法翻译
  • DbFunctions.TruncateTime找不到
  • Microsoft.EntityFrameworkCore.EF.Functions找不到
  • EF.Property(x.CreatedDate, "dt").Date无法翻译
0