C# 实体框架核心中的第二级过滤器

C# 实体框架核心中的第二级过滤器,c#,entity-framework,linq,entity-framework-core,C#,Entity Framework,Linq,Entity Framework Core,我有一个表格和评论。当我询问工作站列表时,我只想包括工作站的最新注释。由于数据和性能的减少。但我不知道如何写入一个查询。我到底该怎么办 var workstations = this.context.TWorkstation.Include(x => x.TComments).AsQueryable(); workstations = workstations.SelectMany(x => x.TComments.Max(y => y.CreationDate)).ToLis

我有一个表格和评论。当我询问工作站列表时,我只想包括工作站的最新注释。由于数据和性能的减少。但我不知道如何写入一个查询。我到底该怎么办

var workstations = this.context.TWorkstation.Include(x => x.TComments).AsQueryable();
workstations = workstations.SelectMany(x => x.TComments.Max(y => y.CreationDate)).ToList();
当前repsonse看起来像这样,包含注释的id 1和id 2。但它应该只包含id 2

"workstation": "workstaionName",
"alias": "alias",
"dns": "ip",
"macAddress": "FF-FF-FF-FF-FF-F",
"comments": [
    {
        "id": 1,
        "text": "test\n",
        "creationDate": "2020-11-16T17:41:40.226617",
        "modificationDate": "0001-01-01T00:00:00",
        "creator": "xxx"
    },
    {
        "id": 2,
        "text": "test2",
        "creationDate": "2020-11-17T17:41:40.226617",
        "modificationDate": "0001-01-01T00:00:00",
        "creator": "xxx"
    }
],
"creator": "xxx"

在EF Core 5中,您可以执行以下操作:

var工作站=this.context.TWorkstation
.Include(x=>x.t建议.OrderByDescending(c=>c.CreationDate).Take(1))
.ToList();

workstations.SelectMany(x=>x.Select(y=>new{param1=y.param1,param2=y.param2})).ToList();对不起,我尽了最大努力修改你的答案,但未能使其生效。我编辑了这个问题,希望能更好地解释我想归档的内容