在asp.net core中使用pomelo.entityframeworkcore.mysql获取模型列表json

jei2mxaa  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(372)

如何退货 MenuList JSON string 使用 Pomelo ? 当我添加 MenuList 在我的 Model 我将得到一个错误显示我“未知列menulist”。因为在我心中 MySql 菜单.tbl没有 MenuList 列。
请给我任何解决方案,提前谢谢!
菜单.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; }
}

菜单控制器.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();
    }
mwg9r5ms

mwg9r5ms1#

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

相关问题