Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 6 实体框架错误:无效的对象名称“dbo.XXXXXXX”_Entity Framework 6 - Fatal编程技术网

Entity framework 6 实体框架错误:无效的对象名称“dbo.XXXXXXX”

Entity framework 6 实体框架错误:无效的对象名称“dbo.XXXXXXX”,entity-framework-6,Entity Framework 6,我有以下数据表: CREATE TABLE [dbo].[AuthorizeAttrib] ( [Id] [UNIQUEIDENTIFIER] NOT NULL , [ControllerName] [VARCHAR](100) NOT NULL , [ActionName] [VARCHAR](100) NULL , CONSTRAINT [PK_AuthorizeAttrib] PRIMARY KEY CLUSTERED ( [Id] ASC )

我有以下数据表:

CREATE TABLE [dbo].[AuthorizeAttrib]
    (
      [Id] [UNIQUEIDENTIFIER] NOT NULL
    , [ControllerName] [VARCHAR](100) NOT NULL
    , [ActionName] [VARCHAR](100) NULL
    , CONSTRAINT [PK_AuthorizeAttrib] PRIMARY KEY CLUSTERED ( [Id] ASC )
    )
ON  [PRIMARY];
在代码中,我有以下内容:

public class StsDatabase : MembershipRebootDbContext<StsUser, StsGroup>
{
    public StsDatabase() : this("name=MembershipReboot") { }
    public StsDatabase(string name) : base(name) { this.RegisterUserAccountChildTablesForDelete<StsUser>(); }

    public DbSet<AuthorizeAttrib> AuthorizeAttribs { get; set; }
    public DbSet<Role> Roles { get; set; }
    public DbSet<RuleSet> RuleSets { get; set; }
    public DbSet<RuleSetRole> RuleSetRoles { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();

        modelBuilder.ConfigureMembershipRebootUserAccounts<StsUser>();
        modelBuilder.ConfigureMembershipRebootGroups<StsGroup>();

        modelBuilder.Configurations.Add(new AuthorizeAttribMap());
        modelBuilder.Configurations.Add(new RoleMap());
        modelBuilder.Configurations.Add(new RuleSetMap());
        modelBuilder.Configurations.Add(new RuleSetRoleMap());
    }
}
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
我不知道还有什么会引起这个挑战


有什么想法吗?

当构建/发布脚本运行时,引入了错误的web.config。仍然指向开发数据库而不是安全开发数据库。自我提示:始终检查web.configs。运动部件太多了

也许可以尝试调用base.OnModelCreatingmodelBuilder;在你设定惯例之前。还要检查基类是否存在潜在冲突?此方法将重写基类方法。如果基本方法运行,它将配置默认值,而不是我构建的所有覆盖。我已经检查了基类是否存在冲突,没有冲突,因为这些是全新的对象。如果上下文能够生成正确的SQL,那么EF配置就可以了。该表可能不在您实际访问的数据库中,也可能不是您认为可以访问的另一个数据库,或者该表未经授权。我应该在哪一侧检查授权?连接字符串使用SQL登录,因此帐户是稳定的。我可以登录到SQL管理器,运行查询并获得结果。我检查了SQL端的表权限,它们看起来是正确的,尽管我不是SQL安全专家。没关系。在某种程度上你是对的。运行生成/发布脚本时,拉入了错误的web.config。仍然指向开发数据库而不是安全开发数据库。自我提示:始终检查web.configs。运动部件太多了!
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
SELECT  [Extent1].[Id] AS [Id]
      , [Extent1].[ControllerName] AS [ControllerName]
      , [Extent1].[ActionName] AS [ActionName]
FROM    [dbo].[AuthorizeAttrib] AS [Extent1];