Asp.net 身份额外的用户信息,如电子邮件等
Posted
技术标签:
【中文标题】Asp.net 身份额外的用户信息,如电子邮件等【英文标题】:Asp.net identity extra user information like email etc 【发布时间】:2013-12-21 23:28:39 【问题描述】:我正在使用新的 ASP.NET 标识。我添加了一些额外的用户信息,如电子邮件、移动设备等,但在创建用户时我收到以下异常:
执行命令定义时出错。有关详细信息,请参阅内部异常。
内部异常:
"无效的列名'Discriminator'。\r\n无效的列名'FirstName'。\r\n无效的列名'LastName'。\r\n无效的列名'DateOfBirth'。\r\n无效的列名'Age '。\r\n无效的列名'Mobile'。"
代码:
AccountController
var user = new ApplicationUser()
UserName = model.Email,
DateOfBirth = model.DateOfBirth,
FirstName = model.FirstName,
LastName = model.LastName,
Mobile = model.Mobile,
Age = model.Age
;
var result = UserManager.Create(user, model.Password); //exception
Model
:
public class ApplicationUser : IdentityUser
public string FirstName get; set;
public string LastName get; set;
public DateTime DateOfBirth get; set;
public int Age get; set;
public string Mobile get; set;
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
public ApplicationDbContext()
: base("DefaultConnection")
protected override void OnModelCreating(DbModelBuilder modelBuilder)
modelBuilder.Entity<ApplicationUser>().Property(p => p.DateOfBirth).HasColumnType("datetime2");
base.OnModelCreating(modelBuilder);
我做错了什么??
【问题讨论】:
检查您的值插入到哪个表中,它与您的通行证值匹配 你的视图模型是什么样的?错误在哪里抛出?什么时候? 【参考方案1】:显示代码模型和数据库中的不匹配。
在运行应用程序之前验证您已迁移更改。适当使用以下命令。
添加迁移 更新数据库还要确保在开始时提供适当的数据库迁移策略。例如,
Database.SetInitializer<ApplicationDbContext>(new System.Data.Entity.MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());
【讨论】:
以上是关于Asp.net 身份额外的用户信息,如电子邮件等的主要内容,如果未能解决你的问题,请参考以下文章