如何選擇自引用表的所有級別作爲視圖模型。如果最高級別是2或3,那麼我可以通過多次調用Select
來實現,但我有4-5級菜單,我認爲應該有更好的解決方案來做到這一點,並選擇所有級別。從自引用表中選擇並轉換爲視圖模型
這是我的視圖模型:
public class MenuViewModel
{
public MenuViewModel()
{
Childs = new HashSet<MenuViewModel>();
}
public int Id{ get; set; }
public string Title { get; set; }
public string Url { get; set; }
public ICollection<MenuViewModel> Childs { get; set; }
}
,這是我的菜單類:
public class Menu
{
public Menu()
{
Childs = new HashSet<Menu>();
}
public int Id{ get; set; }
public string Title { get; set; }
public string Url { get; set; }
public string Description { get; se; }
public byte[] Icon { get; set; }
public int Order { get; set; }
public ICollection<Menu> Childs { get; set; }
}
var viewModel = _dataContext.Menus
.Select(x => new MenuViewModel
{
Id = x.Id,
Title = x.Title,
Child = ???
}
.ToList();
你的'菜單'是怎麼樣的? –
@HariPrasad其幾乎像我的viewmodel –
'菜單'包含子集合?你能舉一個例子說明它是如何自引用父母/孩子的嗎? –