Получить список моделей Json с помощью Pomelo.EntityFrameworkCore.MySql в Asp.Net Core - PullRequest
0 голосов
/ 16 ноября 2018

Как вернуть MenuList JSON string используя Pomelo?Когда я добавляю MenuList в мой Model, я получаю сообщение об ошибке "Unknown Column MenuList".Потому что в моем MySql Menus.tbl нет столбца MenuList.

Любое решение для меня, пожалуйста, заранее спасибо!

Menus.cs

public class Menus
{
    [Key]
    public int MenuId { set; get; }
    public string MenuName { set; get; }
    public int? ParentId { set; get; }
    public int ActiveNo { set; get; }
    public List<Menus> MenuList { set; get; }
}

MenusController.cs

    [HttpGet]
    public ActionResult<List<Menus>> GetMenus()
    {
        List<Menus> menuList = new List<Menus>();

        foreach (Menus m in _context.menusss.ToList())
        {
            menuList.Add(m);
        }

        List<Menus> menuTree = GetMenuTree(menuList, null);
        return menuTree;
    }

    private List<Menus> GetMenuTree(List<Menus> list, int? parentId)
    {
        return list.Where(x => x.ParentId == parentId).Select(x => new Menus()
        {
            MenuId = x.MenuId,
            MenuName = x.MenuName,
            ParentId = x.ParentId,
            ActiveNo = x.ActiveNo,
            MenuList = GetMenuTree(list, x.MenuId)
        }).ToList();
    }

1 Ответ

0 голосов
/ 23 ноября 2018

Я нашел решение, просто добавьте `[NotMapped] ', чтобы игнорировать свойство.

public class Menus
{
    [Key]
    public int MenuId { set; get; }
    public string MenuName { set; get; }
    public int? ParentId { set; get; }
    public int ActiveNo { set; get; }

    [NotMapped]
    public List<Menus> MenuList { set; get; }
}
...