2011-07-07 2 views
3

Je reçois l'exception "Aucun persister pour: MVCTemplate.Common.Entities.User". Je Google ce problème et applique toute la solution que j'ai trouvée. mais tous sont inutiles pour moi. Est-ce que quelqu'un sait ce que je fais mal?aucun persister pour: Fluent nHibernate Exception

mon code Class L'utilisateur est

public class User 
{ 
    public virtual Guid UserID { get; private set; } 
    public virtual string UserName { get; set; } 
    public virtual string Password { get; set; } 
    public virtual string FullName { get; set; } 
    public virtual string Email { get; set; } 
    public virtual TimeSpan LastLogin { get; set; } 
    public virtual bool IsActive { get; set; } 
    public virtual DateTime CreationDate { get; set; } 
    public virtual IList<UserInRole> UserInRoles { get; set; } 
} 

Cartographie de l'utilisateur:

public class UserMap : ClassMap<User> 
{ 
    public UserMap() 
    { 
     Table("tblUsers"); 
     Id(user => user.UserID).GeneratedBy.GuidComb(); 
     Map(user => user.UserName).Not.Nullable(); 
     Map(user => user.Password).Not.Nullable(); 
     Map(user => user.FullName).Not.Nullable(); 
     Map(user => user.Email).Not.Nullable(); 
     Map(user => user.LastLogin).Not.Nullable(); 
     Map(user => user.IsActive).Nullable(); 
     Map(user => user.CreationDate).Not.Nullable(); 
     HasMany(user => user.UserInRoles); 
    } 
} 

FNH Configuration:

return Fluently.Configure() 
      .Database(FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008 
      .ConnectionString(c => c.FromConnectionStringWithKey("FNHConnection")) 
      ) 
      .Mappings(m => 
       m.FluentMappings.AddFromAssemblyOf<User>()) 
      .BuildSessionFactory(); 

Merci

+0

Avez-vous écrit votre mappage pour le « Utilisateur »? – Phill

+0

yeh je viens d'ajouter le code de la carte en question – Saad

+0

Comment ajoutez-vous votre cartographie à la configuration NH? L'assemblage avec les mappages est-il dans le répertoire bin de l'application à partir de laquelle vous tentez de l'exécuter? L'exception en question est à faire lorsque la session n'a aucune information sur l'objet que vous essayez de conserver. – Phill

Répondre

8

Vérifiez bien que votre mapping class est public.

Vérifiez que vous avez quelque chose comme ça dans votre config couramment ....

.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>()) 
+0

Une configuration invalide ou incomplète a été utilisée lors de la création d'une SessionFactory. Vérifiez la collection PotentialReasons et InnerException pour plus de détails. Obtenir cette exception après avoir appliqué ddFromAssemblyOf Saad

+0

Donc c'est un pas en avant. Avez-vous corrigé le problème booléen nullable? – UpTheCreek

+0

ouais .. mais gt la nouvelle exception "{" (XmlDocument) (3,6): Erreur de validation XML: L'élément 'composite-id' dans l'espace de noms 'urn: nhibernate-mapping-2.2' a un contenu incomplet. Liste des éléments possibles attendus: 'meta, clé-propriété, clé-plusieurs-à-un' dans namespace 'urn: nhibernate-mapping-2.2'. "}" – Saad

Questions connexes