2016-04-24 7 views
0

Ich versuche, der von Asp.NET Identity erstellten AspNetUsers-Tabelle zusätzliche Felder hinzuzufügen. Ich benutze Entity Framework und befolge diese Anleitung. http://aspmvp.com/archives/37Erweiterung der AspNetUsers-Tabelle mit Migration

Bisher habe ich Felder zu meiner ApplicationUser-Klasse in IdentityModels.cs hinzugefügt.

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; 
    } 
} 

Ich habe mich verändert auch die Felder in AccountController.cs registrieren benötigt, aber ich glaube nicht, dass beeinflussen wird, wie dies funktioniert.

Momentan versuche ich, die Änderungen in meine Datenbank zu migrieren, aber aus irgendeinem Grund haben die Migrationen, die von Add-Migration erstellt wurden, ein leeres Up und ein leeres Down. Die Befehle, die ich verwendet habe, sind:

Enable-Migrations -EnableAutomaticMigrations 
Update-Database 

Dann habe ich versucht

Add-Migration IdentityModels 
Update-Database 

Sowohl die leeren Up- und Down-Methoden in der Migration erstellt. Wenn ich versuche, die Website zu starten, sehe ich auch, dass die Spalten nicht existieren, aber ich gehe davon aus, dass die Migration nicht stattfindet. Kann jemand sehen, warum meine Änderungen nicht erkannt werden?

Antwort

0

Wie manay Datenbank haben Sie? Wenn Sie zwei Datenbanken verwenden, stellen Sie sicher, dass Sie auf die richtige verweisen. Enable-Migrations,Enable-Migrations -ContextTypeName DatabaseService.Models.MyDbContext als auch in How do I enable EF migrations for multiple contexts to separate databases?

wies darauf hin, Wenn Sie zwei Datenbanken haben, würde ich vorschlagen, sie zu einem verschmelzen,

public class MySecondDBContext : IdentityDbContext<ApplicationUser> 
{ 
    public SocialContext() 
     : base("DefaultConnection") 
    { 


    } 
0

Versuchen -Force Hinzufügen, wenn die Migration hinzufügen.

Add-Migration-Konfiguration yourapp.migrationsfolder.Configuration migrationsname-Force