sre*_*mer 5 c# asp.net-mvc-4 asp.net-identity
我已经修改了带有附加地址列的 AspNetUsers 表,并且除了迁移部分之外,还遵循了此处的步骤。我用数据库优先的方法开始了我的项目
我的身份模型具有附加字段
public class ApplicationUser : IdentityUser
{
public string Email;
public string Address;
public string City;
public string Province;
public string PostalCode;
}
Run Code Online (Sandbox Code Playgroud)
在 AccountController 中,我像这样构建我的用户:
var user = new ApplicationUser() {
UserName = model.UserName,
Email = model.Email,
Address = model.Address,
City = model.City,
Province = model.Province,
PostalCode = model.PostalCode
};
var result = await UserManager.CreateAsync(user, model.Password);
Run Code Online (Sandbox Code Playgroud)
如果我逐步执行代码,我会看到用户包含新属性。但是,当它保存时,这些字段在数据库中是空的。是否有我遗漏的内容,或者代码优先迁移是否执行了未涵盖的步骤?
我当然不是 ASP.NET Identity 专家,仍在尝试自己掌握基础知识,但我想到了两个建议。
首先,我看到您正在向类添加字段ApplicationUser,而不是属性。这可能就是问题所在。例如,尝试改变
public string Email;
Run Code Online (Sandbox Code Playgroud)
进入
public string Email { get; set; }
Run Code Online (Sandbox Code Playgroud)
其次,您需要运行迁移以便将这些列添加到数据库中。尽管您似乎确实说您的数据库中已经有这些列,所以我认为此步骤不会添加任何内容。(既然您说您是从数据库优先的方法开始的。我只是为了完整起见才提到这一点。)
祝你好运!
| 归档时间: |
|
| 查看次数: |
1393 次 |
| 最近记录: |