【发布时间】: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);
}
}
我做错了什么??
【问题讨论】:
-
检查您的值插入到哪个表中,它与您的通行证值匹配
-
你的视图模型是什么样的?错误在哪里抛出?什么时候?
标签: c# asp.net-mvc asp.net-identity