2


Je veux créer la table (SQL Server) qui contient GUID identité des utilisateurs et de faire référence dans Fluent NHibernate, voici mon modèle:Courant NHibernate Référence à MembershipUser

public class Invoice { 
    public virtual Guid Identity { get; set; } 
    public virtual MembershipUser User { get; set; } 
    public virtual int Price { get; set; } 
} 

Ainsi, la cartographie devrait être :

public class InvoiceMap : ClassMap<Invoice> { 
    public InvoiceMap() { 
     Id(x => x.Identity).GeneratedBy.GuidNative(); 
     Reference(x => x.User).Column("User"); 
     Map(x => x.Price); 
     Table("invoices"); 
    } 
} 

Mais il n'y a qu'un problème. La classe MembershipUser doit également être mappée.
Comment je peux faire cela sans mappage MembershipUser?

Répondre

2

Je suppose que votre question est "comment utiliser MembershipUser/Membership and Role Provider dans nHibernate". Tout d'abord, si vous ne voulez pas réinventer la roue, je suggère de supprimer la propriété MembershipUser de votre classe et de simplement mettre une référence à un identifiant. Sinon, il devient plus complexe. Plus tard, vous pouvez convertir/récupérer le MembershipUser de votre MembershipProvider ...

Il y a un bon article sur CodePlex décrivant comment implémenter un fournisseur d'appartenances personnalisé avec NHibernate http://www.codeproject.com/Articles/55174/Custom-Fluent-Nhibernate-Membership-and-Role-Provi

+0

Est-il possible de faire quelque chose comme ceci: 'Reference (x => x.User) .Column (" User ") .Rappel (x => MembershipProvider.GetUserById (x));'? –

+0

Non, mais je veux dire que vous pouvez mettre une propriété dans votre entité qui n'est pas mappée (de type MembershipUser) et la définir manuellement – MichaC

+0

btw vous pourriez marquer comme réponse et poser une question plus concrète si vous avez toujours un problème, car cette un était un peu vague – MichaC

Questions connexes