J'ai besoin d'intégrer Asp.Net dernière version MVC avec une base de données existante qui a une colonne supplémentaire String Address
à la table dbo.AspNetUsers
J'ai besoin de créer une instance ApplicationUser
qui possède la propriété Address.
Une idée comment le faire?
Une solution possible qui fonctionne pour moi, fondamentalement, je peux intégrer des profils d'utilisateurs Asp.Net Identity à une base de données existante.
Obtenir les tables Asp.Identity:
Vous pouvez également utiliser quelque chose comme http://identity.codeplex.com/
Intégration avec votre base de données existante:
Vous avez maintenant les tables Asp.Identity dans votre modèle de base de données avec modèle ER dans votre application.
Profil Asp.Identity Ajout de nouvelles propriétés:
Exécutez la commande “Enable-Migrations”; Une fois que nous avons activé les migrations de base de données, nous pouvons continuer et ajouter de nouvelles propriétés pour notre UserProfile.
Pour ajouter de nouvelles propriétés, modifiez le fichier IdentityModels.cs, par exemple:
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailID { get; set; }
}
Ajouter une nouvelle migration
Une fois les propriétés ajoutées, apportez la console du gestionnaire de packages et exécutez la commande suivante.
Add-Migration “YouMigrationName”
Cette commande générera un fichier de script de base de données. Exécutez maintenant la commande suivante pour exécuter ce fichier de script sur la base de données.
Update-Database
Désormais, toutes les nouvelles propriétés deviendront des champs de table dans la même table de base de données.
J'espère que cela pourra aider les autres. Si vous avez une meilleure idée, merci de me le faire savoir.
J'ai réussi à intégrer une base de données existante via Database First avec Identity Framework 2.0. J'ai écrit un article de blog dessus ici qui utilise ASP.NET MVC 5, Identity Framework 2.0 et le modèle SPA de Visual Studio 2013 Update 2 RTM. .
J'espère que cela aidera tout le monde dans son parcours, car il contient quelques points non répertoriés à un endroit que je devais trouver par moi-même.
Jetez un coup d'œil à ces projets sur GitHub:
Qui comprend: