我知道实体框架还不支持子集合中的排序或过滤。我的想法是首先我获取数据然后使用foreach循环对其进行排序。结果给了我一个未排序的列表。我的目标是获得Participants(任何顺序)和CurrentHospitaliztions(按 id 降序排列),它是参与者的孩子。模型和查询如下。任何帮助都会得到帮助。
public class Participant
{
public int Id { get; set; }
.. other fields
public ICollection<CurrentHospitalization> CurrentHospitalizations { get; set; }
public Participant()
{
CurrentHospitalizations = new Collection<CurrentHospitalization>();
}
}
public class CurrentHospitalization
{
public int Id { get; set; }
.. other fields
public Participant Participant { get; set; }
public int ParticipantId { get; set; }
}
我使用的查询:
public async Task<IEnumerable<Participant>> GetList()
{
var participants = await context.Participants
.Include(x => x.CurrentHospitalizations)
.ToListAsync();
foreach (var p in participants )
{
var s = p.CurrentHospitalizations;
foreach (var q in s)
{
s.OrderByDescending(u => u.Id);
}
}
return participants ;
}