使用 Asp.Net 核心中的 Pomelo.EntityFrameworkCore.MySql 获取模型列表 Json

Get Model List Json using Pomelo.EntityFrameworkCore.MySql in Asp.Net Core

如何使用PomeloreturnMenuList JSON string?当我在我的 Model 中添加 MenuList 时,我会收到一条错误消息,显示 "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();
    }

我找到了解决方案,只需添加“[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; }
}