Как выполнить группировку по первым нескольким символам столбца в LINQ и получить счетчик
Привет,
У меня есть таблица сущностей по имени "места". Записи в этой таблице выглядят следующим образом :
Код
10A 10B 10C 10D 11A 11C 11D 11E 312A 312B... so on
Здесь, например : 10A -> A-это идентификатор сиденья, а 10-это стол, к которому прикреплено сиденье, если его 312B, то 312-это идентификатор стола, А B-идентификатор сиденья.
Мне нужно получить различные имена таблиц из вышеприведенной коллекции вместе с количеством мест вокруг этого стола, например :
Code Seats 10------------4 11------------4 312-----------2
Как я могу этого достичь? Пожалуйста, предложите. Заранее спасибо.
Что я уже пробовал:
private class tables { public String code { get; set; } public Int32 noseats { get; set; } } List<tables> lstTables = new List<tables>(); lstTables = (from tablrow in Context.seats.AsEnumerable() group tablrow by new { tabcode = apputils.Left(tablrow.code, tablrow.code.Length - 1) } into g select new tables { code = g.Key.tabcode, noseats = g.Count(g) }).ToList();
Это возвращает ошибку,
Argument 2: cannot convert from 'System.Linq.IGrouping<<anonymous type: string tabcode>, db.seats>' to 'System.Func<db.seats, bool>'
Gerry Schmitz
Очевидно, что если вы отформатируете данные (в таблицу и место) "до" запроса, все будет проще.
Priya-Kiko
Спасибо за ответ.