在EF Core中使用方法进行查询?

24 浏览
0 Comments

在EF Core中使用方法进行查询?

我正在试图找到一种使用EF Core的SELECT查询中的方法来减少反复重写的代码量的方法。相反,可以使用一个简单的方法来查询那部分数据。查询看起来像这样...

 var users = await DbContext.Users.Where(user => user.Id == 1)
                                   .Select(user => new UserDTO
                                   {
                                       Id = user.Id,
                                       Name = user.Name,
                                       Unavailable = user.Tasks
                                                       .Any(task => task.HasTasksToday()),
                                   }).ToListAsync();

HasTasksToday()的代码如下...

    public bool HasTasksToday()
    {
        return Tasks.Any(task => task.StartedAt.Date == DateTime.Now.Date);
    }

问题是我得到了一个...

...无法被翻译。请重新编写一个可翻译的查询...

...错误。

我知道使用IQueryable可能适用于这个问题,但我不确定如何在select语句中实现这一点,因为我只知道如何在Users实体上使用IQueryable。

0