首页 > 解决方案 > MySql.Data.MySqlClient.MySqlException:ASP.NET Core 2.1 中的“字段列表”中的“未知列”m.MenusMenuId

问题描述

任何人都可以帮我解决这个问题。

我收到一个 MySql 未知列错误,错误是 m.MenusMenuId 但在 MySql 内部我的菜单 ID 是 MenuId。MenuId怎么会变成m.MenusMenuId呢?任何人都可以向我解释。下面是我的代码。

菜单.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; } = new List<Menus>();
}

上下文.cs

public class Context : DbContext
{
    public Context(DbContextOptions<Context> options) : base(options)
    {

    }

    public DbSet<Menus> menus { set; get; }
}

菜单控制器.cs

[Route("api/[controller]")]
[ApiController]
public class MenusController : ControllerBase
{
    private readonly Context _context;

    public MenusController(Context context)
    {
        _context = context;

        if (_context.menus.Count() == 0)
        {
            _context.menus.Add(new Menus { MenuId = 1, MenuName = "VEHICLE TRADING", ParentId = null, ActiveNo = 1 });
            _context.SaveChanges();
        }
    }

    [HttpGet]
    public ActionResult<List<Menus>> GetAll()
    {
        return _context.menus.ToList();
    }
}

MySql 查询

CREATE TABLE Menus(
    MenuId INT NOT NULL AUTO_INCREMENT,
    MenuName VARCHAR(250),
    ParentId INT,
    ActiveNo INT,
    PRIMARY KEY (MenuId)
);

标签: mysqlasp.netentity-frameworkmodel-view-controllerasp.net-core

解决方案


推荐阅读