it-swarm.com.de

Erster Ansatz mit Asp.Net Identity DataBase

Ich muss die neueste MVC-Version von Asp.Net in eine vorhandene -Datenbank integrieren, die eine zusätzliche Spalte String Address Zur Tabelle dbo.AspNetUsers Enthält.

Ich muss eine Instanz ApplicationUser mit der Eigenschaft Address erstellen.

Irgendeine Idee, wie es geht?

55
GibboK

Eine mögliche Lösung, die für mich funktioniert. Grundsätzlich kann ich Asp.Net Identity-Benutzerprofile in eine vorhandene Datenbank integrieren.

Abrufen der Asp.Identity-Tabellen:

  • Erstellen Sie ein MVC-Projekt mit der Authentifizierung eines einzelnen Benutzerkontos
  • Öffnen Sie die unter der DefaultConnection in der Datei Web.config aufgeführte Datenbank. Es heißt (aspnet- [timestamp] oder so ähnlich.)
  • Skripten Sie die Datenbanktabellen mit SQL Server Management Studio (fügen Sie die Datenbank für mdc hinzu).

Verwenden Sie alternativ etwas wie http://identity.codeplex.com/

Integration in Ihre bestehende Datenbank:

  • Fügen Sie die skriptbasierten Tabellen in eine vorhandene Datenbank in SQL Server Management Studio ein.
  • Passen Sie ggf. Beziehungen zu ApplicationUser an und fügen Sie sie hinzu.
  • Neues Webprojekt erstellen> MVC> DB First Project> DB mit EF importieren ....
  • Ändern Sie in IdentityModels.cs den ApplicationDbContext: base ("DefaltConnection"), um den DbContext Ihres Projekts zu verwenden.

Jetzt haben Sie die Asp.Identity-Tabellen in Ihrer Datenbank mit ER-Modell in Ihrer Anwendung.

Asp.Identity-Profil Hinzufügen neuer Eigenschaften:

  • Aktivieren Sie die erste Datenbankmigration für Entity Framework-Code. Klicken Sie dazu in VS auf Tools ‘Package Manager Console’.
  • Führen Sie den Befehl "Enable-Migrations" aus. Sobald wir die Datenbankmigrationen aktiviert haben, können wir neue Eigenschaften für unser Benutzerprofil hinzufügen

  • Um neue Eigenschaften hinzuzufügen, ändern Sie die Datei IdentityModels.cs, Beispiel:


public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailID { get; set; }
}

Neue Migration hinzufügen

  • Nachdem Sie die Eigenschaften hinzugefügt haben, rufen Sie die Package Manager-Konsole auf und führen Sie den folgenden Befehl aus.

    Add-Migration "YouMigrationName"

Dieser Befehl generiert eine Datenbankskriptdatei. Führen Sie nun den folgenden Befehl aus, um diese Skriptdatei für die Datenbank auszuführen.

Update-Database

Jetzt werden alle neuen Eigenschaften zu Tabellenfeldern in derselben Datenbanktabelle.

Ich hoffe, es kann anderen helfen. Wenn Sie eine bessere Idee haben, lassen Sie es mich bitte wissen.

56
GibboK

Es ist mir gelungen, eine vorhandene Datenbank über Database First in Identity Framework 2.0 zu integrieren. Ich habe einen Blog-Beitrag darüber geschrieben hier , der ASP.NET MVC 5, Identity Framework 2.0 und die SPA-Vorlage von Visual Studio 2013 Update 2 RTM verwendet.

Ich hoffe, das hilft jedem auf seiner Reise, denn es enthält ein paar Punkte, die nicht an einer Stelle aufgeführt sind und die ich selbst herausfinden musste.

22
Daniel Eagle

Schauen Sie sich diese Projekte auf GitHub an:

Welches beinhaltet:

  • SQL-Datenbankprojektvorlage für ASP.NET Identity 2.0
  • Entity Framework Database-First-Anbieter
  • Quellcode und Beispiele

enter image description here

20