【发布时间】:2014-06-28 08:06:58
【问题描述】:
我在 VS 2013 中有一个标准的 MVC 5 项目,并使用内置的身份提供程序。我正在尝试根据http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx自定义用户配置文件。
我没有像文章中那样扩展 ApplicationUser,因为我想在同一解决方案中的另一个项目中处理扩展。我创建了一个新的子类 ExtendedUser:
public class ExtendedUser : IdentityUser
{
[MaxLength(12)]
public string PIN { get; set; }
}
然后我有:
public class UsersContext : DbContext
{
public DbSet<ExtendedUser> ExtendedUsers { get; set; }
public UsersContext() : base() { }
public UsersContext(string ConnectionString) : base(ConnectionString) { }
}
当用户上下文被实例化和初始化时,我遇到了:
System.Data.Entity.ModelConfiguration.ModelValidationException 未被用户代码处理 H结果=-2146233088 Message=在模型生成期间检测到一个或多个验证错误:
IdentityUserLogin: : EntityType 'IdentityUserLogin' 没有定义键。定义此 EntityType 的键。 IdentityUserRole: : EntityType 'IdentityUserRole' 没有定义键。定义此 EntityType 的键。 IdentityUserLogins:EntityType:EntitySet 'IdentityUserLogins' 基于没有定义键的类型'IdentityUserLogin'。 IdentityUserRoles:EntityType:EntitySet 'IdentityUserRoles' 基于没有定义键的类型'IdentityUserRole'。 ....
似乎其他身份成员表已更新,但我没有触及其中任何一个。为什么会发生这种情况以及如何纠正它。
【问题讨论】:
标签: entity-framework ef-code-first asp.net-identity entity-framework-migrations