Ale*_*482 13 claims-based-identity entity-framework-6 asp.net-identity
我正在尝试将配置文件/成员身份信息添加到我的MVC5应用程序中并添加配置映射.
我收到以下错误消息:
my.Models.IdentityUserLogin :: EntityType'IdentityUserLogin'没有定义键.定义此EntityType的键.
my.Models.IdentityUserRole :: EntityType'IdentityUserRole'没有定义键.定义此EntityType的键.
IdentityUserLogins:EntityType:EntitySet'IdentityUserLogins'基于没有定义键的类型'IdentityUserLogin'.
IdentityUserRoles:EntityType:EntitySet'IdentityUserRoles'基于类型'IdentityUserRole',没有定义键.
public class ApplicationUser : IdentityUser
{
public string City { get; set; }
public string Discriminator { get; set; }
public string Address { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new ApplicationUserConfiguration());
}
}
Run Code Online (Sandbox Code Playgroud)
fli*_*lip 22
打电话base.OnModelCreating(modelBuilder)并没有为我解决问题.
在VS2013-Preview,VS2013-RC和VS2013-RTM中,Microsoft.AspNet.Identity.EntityFramework的行为似乎有所不同.我正在使用RTM版本.
继承自IdentityUser之后,我不得不重新创建模型中的所有其他主键以使其工作:
public class ApplicationUser : IdentityUser
{
public string DisplayName { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext() : base("DefaultConnection") { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId);
modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id);
modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId });
}
Run Code Online (Sandbox Code Playgroud)
我想在AspNet.Identity.EntityFramework上工作正在进行中,这将被修复(?)
| 归档时间: |
|
| 查看次数: |
7562 次 |
| 最近记录: |