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:
Vous pouvez aussi utiliser quelque chose comme http://identity.codeplex.com/
Intégration avec votre firebase database existante:
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:
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:
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