Может ли кто-нибудь помочь с вопросом по C# LINQ? Сортировка не работает [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Может ли кто-нибудь помочь с вопросом по C# LINQ? Сортировка не работает [закрыто]

Сообщение Anonymous »

Я пытаюсь получить многострочный график с помощью диаграмм Google. У меня возникла проблема с правильной сортировкой данных.
Мои данные следующие:

Код: Выделить всё

public class TemperatureReading (extra only, more fields present)
{
[Key]
public long Id { get; set; }

public int LocId { get; set; } = 0;

[Display(Name = "RPI ID")]
public int DeviceId { get; set; } = 0;
}
Мой Linq выглядит следующим образом:

Код: Выделить всё

var myGroupedData1MSBUPWORKING = _context.TemperatureReading
.Where(s => s.LocId == 1 && s.DTS >= myDT && s.DeviceId >= 1)
//(s.DeviceId == 6 || s.DeviceId == 7 || s.DeviceId == 8))
//.OrderBy(s => s.DTS) //.ThenBy(s => s.DeviceId)
.GroupBy(p => p.DTS)
.OrderBy(p => p.Key)
.Select(p => new
{
DTS = p.Key.ToString("MM-dd HH:mm"),
//Count = p.Count(),
//DTS = p.Key.ToString("MM-dd HH:mm"),
DeviceId = p.Select(t => t.DeviceId),
Temp = p.Select(t => t.Value)
}).ToList();
var myGroupedData1MSJSON = Json(new { JSONList = JsonConvert.SerializeObject(myGroupedData1MSBUPWORKING) });
Мои данные результатов JSON следующие:

Код: Выделить всё

myGroupedData1MSJSON
[
{ "DTS": "10-08 16:15", "DeviceId": [**4,6,8,7**], "Temp": [2.0,2.7,0.8,0.7] },
{ "DTS": "10-08 16:30", "DeviceId": [**4,8,7,6**], "Temp": [2.2,0.7,0.9,2.8] },
{ "DTS": "10-08 16:45", "DeviceId": [**4,8,6,7**], "Temp": [2.5,0.9,2.9,1.2] },
{ "DTS": "10-08 17:00", "DeviceId": [4,8,6,7], "Temp": [2.5,0.9,2.9,1.1] }
]
Проблема в том, что DeviceId НЕ сортируется должным образом, а дата и временная метка сортируются, но не данные (детали данных устройства на самом деле нужны только для проверки конечного результата).
Я занимаюсь этим уже несколько дней, может ли кто-нибудь предложить лучший оператор Linq или сказать мне, где я облажался?
Это мое незнание LING, которое становится у меня проблемы.
Заранее большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/797 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»