我是一个新手,并试图建立一个网站,我在页面上有一个简单的CheckBoxList控件,目前显示一些'类别'数据。但是,我希望减少要通过名为“CategoryType”的数据中的字段进行分组的记录。
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;
}
我在数据库中有一个名为“Categories”的表和一个名为YPGOOSDataContext.cs的DataContext类,其中包括:
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!!
请帮忙。
答案 0 :(得分:1)
尝试以下
query = query.GroupBy(gb => gb.CategoryType).Select(x => x.FirstOrDefault());
GroupBy
不直接返回IQueryable<Category>
,您需要根据自己的要求构建