2011-04-22 112 views
0

當我運行我的MVC應用程序時,我不斷收到此錯誤。該應用程序生成的罰款,但在運行時引發此錯誤。無效的對象名稱'dbo.Table' - EntityFramework 4.1

這是場景。

[DisplayColumn("Name", "Name", false)] 
public partial class ApplicationAction 
{ 
    public Guid ApplicationActionId { get; set; } 
    [Required, StringLength(150), Column("ActionName")] 
    public string Action { get; set; } 
    [Required, StringLength(150)] 
    public string Controller { get; set; } 
    [StringLength(150)] 
    public string Area { get; set; } 
    [StringLength(250)] 
    public string Description { get; set; } 

    //Navigation Properties 
    public virtual ICollection<ApplicationActionGroup> ApplicationActionGroups { get; set; } 

    public ApplicationAction() 
    { 
     ApplicationActionId = Guid.NewGuid(); 
    } 
} 
public DbSet<ApplicationAction> ApplicationActions { get; set; } 

public static ApplicationAction GetAction(string actionName, string controller, string area, IEnumerable<ApplicationAction> actions) 
    { 
     foreach (ApplicationAction a in actions) 
     { 
      if (a.Action.Equals(actionName, StringComparison.InvariantCultureIgnoreCase) 
       && a.Controller.Equals(controller, StringComparison.InvariantCultureIgnoreCase) 
       && (
        (string.IsNullOrEmpty(a.Area) && string.IsNullOrEmpty(area)) || 
        (!string.IsNullOrEmpty(a.Area) && a.Area.Equals(area, StringComparison.InvariantCultureIgnoreCase)) 
        ) 
       ) 
      { 
       return a; 
      } 
     } 
     return null; 
    } 

我得到的getAction方法的錯誤。它出現爲無效的對象名稱'dbo.ApplicationAction'。在sql數據庫中,有一個名爲ApplicationActions的表。不知道是什麼導致這個錯誤。

回答

0

你確定[DisplayColumn(「Name」,「Name」,false)] 是一個類的有效屬性嗎?

+1

對不起,這是解決..它必須做的對象的複數名稱。數據庫中的表有「s」,而對象是單數。所以,它找不到dbo.table ..這是固定的。感謝您的回覆。 – bladerunner 2011-04-25 21:17:39