Asp.net mvc 在创建Asp.net模型时溢出EF问题
我是asp.net的新手,我跟随这个博客来扩展和修改asp.net mvc EF6.0 Identity version 2中的角色 问题出在这里Asp.net mvc 在创建Asp.net模型时溢出EF问题,asp.net-mvc,entity-framework,asp.net-mvc-5,Asp.net Mvc,Entity Framework,Asp.net Mvc 5,我是asp.net的新手,我跟随这个博客来扩展和修改asp.net mvc EF6.0 Identity version 2中的角色 问题出在这里 protected override void OnModelCreating(DbModelBuilder modelBuilder) { if (modelBuilder == null) { throw new ArgumentNullException("modelBuilde
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
if (modelBuilder == null)
{
throw new ArgumentNullException("modelBuilder");
}
// Keep this:
modelBuilder.Entity<IdentityUser>().ToTable("AspNetUsers");
// Change TUser to ApplicationUser everywhere else -
// IdentityUser and ApplicationUser essentially 'share' the AspNetUsers Table in the database:
EntityTypeConfiguration<ApplicationUser> table =
modelBuilder.Entity<ApplicationUser>().ToTable("AspNetUsers");
table.Property((ApplicationUser u) => u.UserName).IsRequired();
// EF won't let us swap out IdentityUserRole for ApplicationUserRole here:
modelBuilder.Entity<ApplicationUser>().HasMany<IdentityUserRole>((ApplicationUser u) => u.Roles);
modelBuilder.Entity<IdentityUserRole>().HasKey((IdentityUserRole r) =>
new { UserId = r.UserId, RoleId = r.RoleId }).ToTable("AspNetUserRoles");
//Leave this alone:
EntityTypeConfiguration<IdentityUserLogin> entityTypeConfiguration =
modelBuilder.Entity<IdentityUserLogin>().HasKey((IdentityUserLogin l) =>
new
{
UserId = l.UserId,
LoginProvider = l.LoginProvider,
ProviderKey
= l.ProviderKey
}).ToTable("AspNetUserLogins");
entityTypeConfiguration.HasRequired<IdentityUser>((IdentityUserLogin u) => u.);
EntityTypeConfiguration<IdentityUserClaim> table1 =
modelBuilder.Entity<IdentityUserClaim>().ToTable("AspNetUserClaims");
//table1.HasRequired<IdentityUser>((IdentityUserClaim u) => u.User);
// Add this, so that IdentityRole can share a table with ApplicationRole:
modelBuilder.Entity<IdentityRole>().ToTable("AspNetRoles");
// Change these from IdentityRole to ApplicationRole:
EntityTypeConfiguration<ApplicationRole> entityTypeConfiguration1 =
modelBuilder.Entity<ApplicationRole>().ToTable("AspNetRoles");
entityTypeConfiguration1.Property((ApplicationRole r) => r.Name).IsRequired();
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
if(modelBuilder==null)
{
抛出新的ArgumentNullException(“modelBuilder”);
}
//留着这个:
modelBuilder.Entity().ToTable(“AspNetUsers”);
//在其他地方将TUser更改为ApplicationUser-
//IdentityUser和ApplicationUser基本上“共享”数据库中的AspNetUsers表:
EntityTypeConfiguration表=
modelBuilder.Entity().ToTable(“AspNetUsers”);
table.Property((ApplicationUser u)=>u.UserName).IsRequired();
//EF不允许我们在此处将IdentityUserRole交换为ApplicationUserRole:
modelBuilder.Entity()有许多((ApplicationUser u)=>u.Roles);
modelBuilder.Entity().HasKey((IdentityUserRole r)=>
新的{UserId=r.UserId,RoleId=r.RoleId}).ToTable(“AspNetUserRoles”);
//别管这个了:
EntityTypeConfiguration EntityTypeConfiguration=
modelBuilder.Entity().HasKey((IdentityUserLogin l)=>
新的
{
UserId=l.UserId,
LoginProvider=l.LoginProvider,
ProviderKey
=l.ProviderKey
}).ToTable(“AspNetUserLogins”);
entityTypeConfiguration.HasRequired((IdentityUserLogin u)=>u.);
EntityTypeConfiguration表1=
modelBuilder.Entity().ToTable(“AspNetUserClaims”);
//表1.HasRequired((IdentityUserClaim u)=>u.User);
//添加此项,以便IdentityRole可以与ApplicationRole共享一个表:
modelBuilder.Entity().ToTable(“AspNetRoles”);
//将这些从IdentityRole更改为ApplicationRole:
EntityTypeConfiguration EntityTypeConfiguration 1=
modelBuilder.Entity().ToTable(“AspNetRoles”);
entityTypeConfiguration1.Property((ApplicationRole r)=>r.Name.IsRequired();
}
问题出在这行代码中
entityTypeConfiguration.HasRequired<IdentityUser>((IdentityUserLogin u) => u.User);
entityTypeConfiguration.HasRequired((IdentityUserLogin u)=>u.User);
错误输出:
错误1“Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin”
不包含“用户”的定义,并且没有扩展方法
“用户”接受类型为的第一个参数
“Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin”可以是
找到(是否缺少using指令或程序集引用?)
请帮帮我,非常感谢。你找到什么了吗?我也犯了同样的错误!