2011-04-22 119 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