2016-06-11 7 views
1

Ich baue eine App mit ASP.Net MVC 5 Framework mit einem Datenbank-Code-Ansatz. Ich muss benutzerdefinierte Felder zu meiner Benutzer Tabelle hinzufügen. Was ist der beste Weg, um benutzerdefinierte Attribute hinzuzufügen und später darauf zuzugreifen? Hier ist, was ich bisherWie kann ich meinem Benutzermodell mithilfe von ASP.NET MVC 5 framework benutzerdefinierte Attribute hinzufügen?

  1. Gespeichert in SQL Server und hinzugefügt, um die Spalte in die AspNetUsers Tabelle getan haben.
  2. Ich habe eine neue Klasse, die ApplicationUser wie meine User Klasse unten erstellt.

    public class User : ApplicationUser 
         { 
          public int UserId { get; set; } 
          public int CampId { get; set; } 
         } 
    

Außerdem habe ich versucht, meine benutzerdefinierten Attribute hinzufügen zu den ApplicationUser direkt wie die insstruction auf der Antwort in another question gefunden, aber ich bekomme die folgenden Fehler

The model backing the 'ApplicationDbContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269). 

Was ist der beste Weg, Spalte zu meiner Tabelle hinzufügen?

Auch, wie kann ich auf dieses Feld von der Steuerung mit dem autorisierten Benutzer zugreifen?

+0

Ich wusste, dass der erste Ansatz der Datenbank nicht mehr unterstützt wurde – ArgeKumandan

Antwort

1

Sie müssen Code-First-Migrationen verwenden.

In VS geht Manager-Konsole und Typen Paket:

enable-migrations 

dann können Sie Objekte zu Ihrer ApplicationUser Klasse wie Geburtstag oder was auch immer hinzufügen.

Dann Package Manager-Konsole zurück und laufen:

Add-Migration aNameForYourMigration 

So zum Beispiel, wenn Sie einen Geburtstag Eigenschaft hinzugefügt haben Sie es vielleicht BirthdaypropertyAddedMigration nennen würde oder was auch immer macht euch Sinn.

Dann laufen:

Update-Database 

jetzt alle Ihre Änderungen an der ApplicationUser Klasse werden in die Datenbank beibehalten werden.

Aber wenn Sie die Datenbank-Ansatz tun, müssen Sie die neuen Felder der Tabelle Benutzer hinzufügen und dann Update-Modell aufrufen, um den Code neu zu generieren.

Verwandte Themen