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

问题描述 投票:0回答:1

我有以下代码:

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();

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

c# asp.net linq
1个回答
1
投票

这应该工作正常:

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

正如异常所述:在此上下文中仅支持基元类型或枚举类型。这意味着ParentMenuID是一个object type

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

© www.soinside.com 2019 - 2024. All rights reserved.