错误:无法创建“System.Object”类型的常量值。在此上下文中仅支持基元类型或枚举类型

时间:2018-03-05 16:52:02

标签: c# asp.net linq

我有以下代码:

public ActionResult OnDemand()
{
    List<SiteMenu> all = new List<SiteMenu>();
    using (MyDatabaseEntities dc = new MyDatabaseEntities())
    {
        all = dc.SiteMenus.Where(a => a.ParentMenuID.Equals(0)).ToList();
    }

    return View(all);
}

...但我得到错误:无法创建类型'System.Object'的常量值。此上下文仅支持原始类型或枚举类型

...错误发生在以下行:

all = dc.SiteMenus.Where(a => a.ParentMenuID.Equals(0)).ToList();

我可以得到一些关于我做错了什么的帮助吗? ...提前致谢

1 个答案:

答案 0 :(得分:1)

这应该可以正常工作:

all = dc.SiteMenus.Where(a => a.ParentMenuID == 0).ToList();

正如异常所述:在此上下文中仅支持原始类型枚举类型。这意味着ParentMenuIDobject type

应该是primitive typeenumeration type才能使用.Equals()