我正在尝试将其他字段添加到由Asp.NET Identity创建的AspNetUsers表中。我正在使用Entity Framework并遵循本指南。 http://aspmvp.com/archives/37
到目前为止,我已经在IdentityModels.cs中的ApplicationUser类中添加了字段。
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int TimePlayed { get; set; }
public float RevenueGenerated { get; set; }
public string FavoriteCharity { get; set; }
public string FavoriteGame { get; set; }
public string ImageLocation { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
}
我还更改了在AccountController.cs中注册所需的字段,但我认为这不会影响其工作原理。
现在我正在尝试将更改迁移到我的数据库,但由于某种原因,Add-Migration创建的迁移有一个空的Up和空的Down。我使用的命令是:
Enable-Migrations -EnableAutomaticMigrations
Update-Database
然后我试了
Add-Migration IdentityModels
Update-Database
两者都在迁移中创建了空的Up和Down方法。 当我尝试启动网站时,我也看到列不存在,但我认为这是因为迁移没有发生。有谁知道为什么我的变化没有被发现。
答案 0 :(得分:0)
你有怎样的manay数据库?如果您使用两个数据库,请确保指向正确的数据库。 How do I enable EF migrations for multiple contexts to separate databases?
中指出的Enable-Migrations,Enable-Migrations -ContextTypeName DatabaseService.Models.MyDbContext
此外,如果您有两个数据库,我建议将它们合并为一个,
public class MySecondDBContext : IdentityDbContext<ApplicationUser>
{
public SocialContext()
: base("DefaultConnection")
{
}
答案 1 :(得分:0)
尝试在添加迁移时添加-Force。
添加 - 迁移 - 配置yourapp.migrationsfolder.Configuration migrationname-Force