Я новичок и пытаюсь создать веб-сайт, у меня есть простой элемент управления CheckBoxList на странице, на которой в настоящий момент отображаются некоторые данные категории. Однако я хочу уменьшить записи, которые нужно сгруппировать по полю в пределах данных, называемых «CategoryType».Simple CheckBoxList отображает иерархию модели не значения
код ASPX:
<asp:CheckBoxList ID="CheckBoxList1" runat="server" SelectMethod="GetCategories"> /asp:CheckBoxList>
aspx.cs код:
public IQueryable<Category> GetCategories()
{
var _db = new YPGOOS2.Models.YPGOOSDataContext();
IQueryable<Category> query = _db.Categories;
return query;
}
У меня есть таблица под названием "Категории" в базе данных и класс DataContext называется YPGOOSDataContext.cs, который включает в себя:
public DbSet<Category> Categories { get; set; }
Все, что я хочу сделать, это положить в groupby предложение, которое группирует по типу CategoryType, чтобы я мог отображать эти данные в CheckBoxList.
я могу ввести последующее заявление OrderBy что сортирует данные правильно ...
query = query.OrderBy(ob=>ob.CategoryType); //this sorts by CategoryType correctly
... Однако, когда я пытаюсь следующее не работает ...
query = query.GroupBy(gb => gb.CategoryType); //can't get the GroupBy to work!!
Пожалуйста помоги.
Удивительного спасибо @Damith, который работал с небольшими изменениями ... запросом = запрос. GroupBy (gb => gb.CategoryType). Выберите (x => x.FirstOrDefault()); – skella
@skella FirstOrDefault будет более подходящим. – Damith
Хммм, мне кажется, что я получаю красную squiggly строку под _db.Categories и следующую ошибку при запуске этого кода «Невозможно неявно преобразовать тип» System.Data.Entity.DbSet 'to' System .Linq.IQueryable '. Явное преобразование существует (вы пропускаете листинг?) Кто-нибудь знает, что это такое? –
skella