I am trying to add profile/Membership information into my MVC5 application and adding configuration mappings.
I get the following error message:
Calling base.OnModelCreating(modelBuilder) did not solve the issue for me.
The behavior of Microsoft.AspNet.Identity.EntityFramework seems to be different in VS2013-Preview, VS2013-RC, and VS2013-RTM. I'm using the RTM version.
After inheriting from IdentityUser I had to recreate all other primary keys in the model to make it work:
public class ApplicationUser : IdentityUser
{
public string DisplayName { get; set; }
}
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext() : base("DefaultConnection") { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity().HasKey(l => l.UserId);
modelBuilder.Entity().HasKey(r => r.Id);
modelBuilder.Entity().HasKey(r => new { r.RoleId, r.UserId });
}
(See Configuring/Mapping Properties and Types with the Fluent API)
I guess work on AspNet.Identity.EntityFramework is ongoing and this will be fixed (?)