2017-06-14 19 views
0

控制器

public JsonResult menulist() 
     { 
      try 
      { 
       if (Session["User_Type"].ToString() != null) 
       { 
        var menu = db.menuitems.ToList().Where(d => d.HasAccess.Contains(Session["User_Type"].ToString())).OrderBy(d=>d.Name); 
        return new JsonResult { Data = menu, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
       } 
       return new JsonResult { Data = "", JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
      } 
      catch (Exception ex) 
      { 
       return new JsonResult { Data = "", JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
      } 
     } 

模型

public class MenuItem 
    { 
     [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
     [Key] 
     public int MenuItemId { get; set; } 
     public string Name { get; set; } 
     public string ActionName { get; set; } 
     public string ControllerName { get; set; } 
     public string Url { get; set; } 
     public bool Disable { get; set; } 
     public string HasAccess { get; set; } 
     public int ParentMenuId { get; set; } 
    } 

語境

public DbSet<MenuItem> menuitems { get; set; } 

我有自動生成的MenuItemId字段中我的數據庫,所以我已經在我的模型中將它定義爲鍵和身份。仍然出現Key not defined錯誤,'SelectListItem'沒有定義鍵。模型生成過程中檢測到EntitySet的 'SelectListItems' 是基於類型 'SelectListItem' 不具有鍵定義

錯誤

一個或多個驗證錯誤: Demo.Context.SelectListItem:的EntityType 'SelectListItem' 不具有確定的鍵。定義此EntityType的關鍵字。 SelectListItems:EntityType:EntitySet'SelectListItems'基於沒有定義鍵的類型'SelectListItem'。

回答

0

你可以試試這個嗎?

var menu = db.menuitems.Where(d => d.HasAccess.Contains(Session["User_Type"].ToString())).OrderBy(d=>d.Name).ToList(); 
+0

它不工作。問題依然存在。其實m有問題相關的modelvalidation。解決我在模型中應用了鍵。但無法解決這個問題 – Priya

+0

@Priya,你可以顯示代碼實際上你正在使用'SelectListItem'或者告訴哪個行異常被拋出? –

+0

當我在控制器中與db進行通信時拋出異常。 'db.menuitems.ToList()'實際上是拋出異常 – Priya

相關問題