【发布时间】:2015-07-14 17:27:37
【问题描述】:
考虑以下类
public class DashboardTile
{
public int ID { get; set; }
public int? CategoryID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class DashboardTileBO : DashboardTile
{
public bool IsChecked { get; set; }
public List<DashboardTileBO> DashboardTiles { get; set; }
}
我有一个图块列表,其中一些图块是其他图块的子项。现在我想以这样一种方式显示我的图块列表,如果它有子项,它将被添加到列表中。
查询我正在尝试
var allDashBoardTiles = (from a in context.DashboardTiles
group a by a.CategoryID into b
select new BusinessObjects.DashboardTileBO
{
ID = a.ID,
Name = a.Name,
Description = b.Description,
DashboardTiles = b.ToList(),
}).ToList();
var list = context.DashboardUserTiles.Where(a => a.UserID == userId).Select(a => a.DashboardTileID).ToList();
allDashBoardTiles.ForEach(a => a.IsChecked = list.Contains(a.ID));
现在在上面的查询中,当我使用 group 子句并选择是否使用 a.ID、a.Name 等时,它说它不包含它的定义或扩展方法。
表格
【问题讨论】: