Je suis en train d'utiliser FluentNHibernate avec AutoMapping mais je reçois l'erreur suivanteAucun persister pour une entité utilisant AutoMap dans Nhibernate Fluent?
No persister for: nHibernateSpike.Entities.Route
NHibernate.MappingException: No persister for: nHibernateSpike.Entities.Route
Voici les choses pertinentes;
var model = AutoMap.AssemblyOf<Route>().
Where(t => t.Namespace == "nHibernateSpike.Entities");
model.WriteMappingsTo(@"c:\hbm");
var db = MsSqlConfiguration.MsSql2008
.ConnectionString(c => c
.Server("localhost")
.Database("PTSIntegrationDB")
.TrustedConnection()
)
.ShowSql();
var sessionFactory = Fluently.Configure()
.Database(db)
//.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Route>())
.Mappings(m => m.AutoMappings.Add(model))
.BuildSessionFactory();
return sessionFactory;
Entité
namespace nHibernateSpike.Entities
{
public class Route
{
public virtual int Id { get; private set; }
public virtual string Number { get; set; }
public virtual string ConfirmationCategory { get; set; }
public Route() { }
}
}
Je tire mes cheveux. En utilisant les travaux ClassMap suivants;
public class RouteMap: ClassMap<Route>
{
public RouteMap()
{
Table("Route");
Id(c => c.Id);
Map(c => c.Number);
Map(c => c.ConfirmationCategory);
}
}
J'ai la possibilité d'utiliser Automap pour conduire le DB oon ce projet, et je voudrais l'utiliser - tous les indices?
fait model.WriteMappingsTo (@ "c: \ hbm"); écrire les correspondances correctes? – mxmissile
Non, j'ai supposé que l'automapper avait échoué à trouver les types, donc pas de sortie. Il semble que ce soit un bug courant avec WriteMappingsTo. –