我正在尝试通过自动映射使用FluentNHibernate,但收到以下错误
No persister for: nHibernateSpike.Entities.Route
NHibernate.MappingException: No persister for: nHibernateSpike.Entities.Route这里是相关的东西;
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;实体
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() { }
}
}我把头发都拔出来了。使用下面的ClassMap工作;
public class RouteMap: ClassMap<Route>
{
public RouteMap()
{
Table("Route");
Id(c => c.Id);
Map(c => c.Number);
Map(c => c.ConfirmationCategory);
}
}我有机会在这个项目中使用AutoMap来驱动DB,我想使用它--有什么线索吗?
发布于 2010-01-07 08:31:58
我似乎记得有一个明显的bug,调用WriteMappingsTo会阻止你的映射传递给NHibernate,试着删除那个调用,看看会发生什么。
https://stackoverflow.com/questions/2016515
复制相似问题