En utilisant la première approche Asp.Net Identity DataBase

J’ai besoin d’intégrer la dernière version de MVC d’Asp.Net avec une firebase database existante qui a une colonne supplémentaire Ssortingng Address à la table dbo.AspNetUsers

Je dois créer une instance ApplicationUser qui a la propriété Address.

Une idée de comment le faire?

Une solution possible qui fonctionne pour moi, fondamentalement, je suis capable d’intégrer des profils d’utilisateurs Asp.Net Identity à une firebase database existante.

Obtenir les tables Asp.Identity:

  • Créer un projet MVC avec un compte d’utilisateur d’authentification individuel
  • Ouvrez la firebase database répertoriée sous DefaultConnection dans Web.config. Il sera appelé (aspnet- [timestamp] ou quelque chose comme ça.)
  • Script les tables de firebase database à l’aide de SQL Server Management Studio (joindre la firebase database pour mdc).

Vous pouvez aussi utiliser quelque chose comme http://identity.codeplex.com/

Intégration avec votre firebase database existante:

  • Insérez les tables scriptées dans la firebase database existante dans SQL Server Management Studio.
  • Personnaliser et append des relations à ApplicationUser (si nécessaire).
  • Créer un nouveau projet Web> MVC> Premier projet DB> Importer la firebase database avec EF ….
  • Dans IdentityModels.cs, modifiez le fichier ApplicationDbContext: base (“DefaltConnection”) pour utiliser DbContext de votre projet.

Maintenant, vous avez les tables Asp.Identity dans votre db avec le modèle ER dans votre application.

Asp.Identity Profile Ajout de nouvelles propriétés:

  • Activez les migrations de la première firebase database du code Entity Framework, juste dans VS, sous Outils ‘Console du gestionnaire de packages’,
  • Exécutez la commande “Activer-Migrations”; Une fois que nous avons activé les migrations de firebase database, nous pouvons aller de l’avant et append de nouvelles propriétés pour notre profil utilisateur.

  • Pour append de nouvelles propriétés, modifiez le fichier IdentityModels.cs, exemple:


 public class ApplicationUser : IdentityUser { public ssortingng FirstName { get; set; } public ssortingng LastName { get; set; } public ssortingng 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ère un fichier de script de firebase database, puis exécute la commande suivante pour exécuter ce fichier de script sur la firebase database.

 Update-Database 

Maintenant, toutes les nouvelles propriétés se transformeront en champs de table dans la même table de firebase database.

J’espère que cela peut aider les autres, si vous avez une meilleure idée s’il vous plaît faites le moi savoir.

J’ai réussi à intégrer une firebase database existante via Database First avec Identity Framework 2.0. J’ai écrit ici un article de blog 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 quiconque dans son parcours, car il contient quelques points qui ne figurent pas dans un seul endroit et que je devais déterminer par moi-même.

Jetez un coup d’œil à ces projets sur GitHub:

Qui comprend:

  • Modèle de projet de firebase database SQL pour ASP.NET Identity 2.0
  • Entity Framework Database-First Provider (s)
  • Code source et échantillons

entrer la description de l'image ici

Classe publique MyUser: IdentityUser {public virtuel MyUserInfo MyUserInfo {get; ensemble; }}

 public class MyUserInfo{ public int Id { get; set; } public ssortingng FirstName { get; set; } public ssortingng LastName { get; set; } } public class MyDbContext : IdentityDbContext //Edited to MyUserInfo { public MyDbContext() : base("DefaultConnection") { } public System.Data.Entity.DbSet MyUserInfo { get; set; } } 

Obtenir des informations de profil

Lorsque l’utilisateur se connecte, vous pouvez afficher les informations de profil en procédant comme suit: Récupérer le journal actuellement enregistré dans UserId , afin de pouvoir rechercher l’utilisateur dans le système d’identité ASP.NET

 var currentUserId = User.Identity.GetUserId(); 

Instanciez le UserManager dans le système ASP.Identity pour pouvoir rechercher l’utilisateur dans le système

 var manager = new UserManager(new UserStore(new MyDbContext())); 

Obtenir l’object utilisateur

 var currentUser = manager.FindById(User.Identity.GetUserId()); 

Obtenir les informations de profil sur l’utilisateur

 currentUser.MyUserInfo.FirstName