Что вы здесь видите, так это неспособность понять основы LINQ и не читать руководство.
var s = p.CurrentHospitalizations;
foreach (var q in s)
{
s.OrderByDescending(u => u.Id);
}
фактически ничего не делает, кроме как тратить время процессора.
Вы делаете переменнуюs.Вы присваиваете ему текущие гостеприимства, не отсортированные.
Затем вы вызываете OrderByDescending - генерируете выражение, которое вы МОЖЕТЕ выполнить, за исключением того, что вы никогда не выполняете его.Итак, вы создали некоторое дерево объектов и - выбросите его.список и выполнить его.ToList () отсутствует, равно как и его назначение, поэтому отсортированный результат не просто отбрасывается.
Это основы LINQ - orderby и т. Д. Не меняют порядок, они возвращают упорядоченный результат иВы должны это материализовать.