Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Asp.net mvc ASP.NET Identity 2.0上下文添加了;1“;到表名。_Asp.net Mvc_Entity Framework_Asp.net Identity 2 - Fatal编程技术网

Asp.net mvc ASP.NET Identity 2.0上下文添加了;1“;到表名。

Asp.net mvc ASP.NET Identity 2.0上下文添加了;1“;到表名。,asp.net-mvc,entity-framework,asp.net-identity-2,Asp.net Mvc,Entity Framework,Asp.net Identity 2,我不知道为什么会这样。 我有从IdentityDbContext继承的DbContext: public class TestContext : IdentityDbContext<ApplicationUser> { public TestContext() : base("name=DomainModelContainer") { } // protected override

我不知道为什么会这样。 我有从IdentityDbContext继承的DbContext:

public class TestContext : IdentityDbContext<ApplicationUser>
    {
        public TestContext()
            : base("name=DomainModelContainer")
        {
        }

        //   protected override void OnModelCreating(DbModelBuilder modelBuilder)
        //  {
        //       throw new UnintentionalCodeFirstException();
        //   }

        public virtual DbSet<AspNetRole> AspNetRoles { get; set; }
        public virtual DbSet<AspNetUserClaim> AspNetUserClaims { get; set; }
        public virtual DbSet<AspNetUserLogin> AspNetUserLogins { get; set; }
        public virtual DbSet<AspNetUser> AspNetUsers { get; set; }

        public virtual DbSet<Blog> Blogs { get; set; }
        public virtual DbSet<Category> Categories { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId);
            modelBuilder.Entity<AspNetUserLogin>().HasKey<string>(l => l.UserId);
            modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id);
            modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId });
            base.OnModelCreating(modelBuilder);
            //modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }
    }
我得到一个异常
无效的对象名“dbo.AspNetRoles1”


为什么EF决定在表名中添加“1”?重点是什么

当您首先查看由代码生成的数据库时,它是否已经有AspNetRoles表?@m.casey实际上我使用Model FirstOh,在这种情况下,您可以在EDMX文件中检查AspNetRoles实体的名称。上面写的是AspNetRoles1吗?应该有两个属性:一个是实体(类)的名称,另一个是它映射到的表的名称。@m.casey No,我到处都搜索了AspNetRoles1,但没有找到运气
var testContext = new TestContext();
testContext.AspNetRoles.Count();