LINQ 查询子对象 C 尖锐 8 和 asp.net 核心 3.0

LINQ Query Sub-Objects C sharp 8 and asp.net core 3.0

我有一个作用于数据库对象的 LINQ 查询,如下所示

Ticket:
MyTask (list)

MyTask:
Id (int)
Cats (List of Cats)
Status (string)

Cat:
Assignee (string)

             context.Ticket
            .Where(x => x.Type == "Animal")

            .Include(x => x.MyTasks)
            .ThenInclude(x => x.Cats);

            .Where(x => x.Status != "Collected")
            .AsEnumerable()
            .Where(x => x.MyTask.Where(y => y.Assignee == User.Identity.Name)) //Doesn't work
            .SelectMany(x => x.MyTask.Select(y => new MyModel(y, x.Id)))
            .ToList();

这个问题是我不能直接访问y.Assignee == User.Identity.Name.

Cannot convert expression type IEnumerable.<MyProject.Models.MyTask> to return type bool.

我想以基于分配给猫的用户(即 new MyModel(cat, taskId))的 Cat 和任务 ID 创建的对象列表结束。

这是 C sharp 8 和 asp.net 核心 3.0。

所以每张动物类型的票可能有任务 -> 可能有猫对象 -> 可能包括受让人。

修正:

    .SelectMany(x => x.MyTask.Where(y => y.Assignee == User.Identity.Name).Select(y => new MyModel(y, x.Id)))