2010-11-02 17 views
2

J'utilise la version la plus récente de Sharp Architecture et j'ai des problèmes lorsque j'appelle SaveOrUpdate sur un dépôt. Je reçois toujours le MappingException avec aucun persister pour: erreur. Je n'ai pas beaucoup changé depuis l'architecture Sharp par défaut, et je pointe vers la DLL qui contient mes entités. Quelqu'un a-t-il rencontré ce problème? Il fonctionnait auparavant avec des mappages manuels avant de passer à l'utilisation de Sharp Architecture. Merci!FluentNHibernate automapping "no persister for"

Voici la fonction de génération que j'utilise. TestEntity se trouve dans un autre projet référencé à partir du projet de données. Si j'ajoute un ClassMap pour TestEntity, il trouve le mappage.

public AutoPersistenceModel Generate() 
{ 
    return AutoMap.AssemblyOf<TestEntity>(new AutomappingConfiguration()) 
     .Conventions.Setup(GetConventions()) 
     .IgnoreBase<Entity>() 
     .IgnoreBase(typeof(EntityWithTypedId<>)) 
     .UseOverridesFromAssemblyOf<AutoPersistenceModelGenerator>(); 
} 

Répondre

2

Ce message d'erreur indique que vous essayez d'enregistrer l'entité non mappée. Sharp Architecture a une méthode d'extension qui vous permet de sauvegarder tous les mappages en tant que fichiers XML. Essayez de l'utiliser et vérifiez quelles entités sont réellement mappées.

+0

Voulez-vous dire la méthode WriteMappingsTo? Quand j'appelle cela après avoir chargé l'assembly avec mes entités, je n'obtiens aucun fichier dans le répertoire de sortie. –

+0

Lorsque j'ajoute des mappages ClassMap <>, il semble que je récupère les mappages et j'obtiens une erreur SQL à la place. Pour une raison quelconque, cela ne fonctionne pas avec l'Automapping. –

+0

Je l'ai compris. Merci pour l'aide! –

0

Je suppose que ma configuration d'automapping le filtrait - une fois que j'ai dérivé mon TestEntity d'Entity, l'automapper l'a ramassé.