【发布时间】:2010-12-03 10:59:23
【问题描述】:
运行 VS2003,nHB 3.0.0.3001,尝试通过 Gallio 3.2 运行单元测试。代码来自“nHibernate 之夏”的第一届会议。尝试运行测试时出现以下错误。
NHibernate.HibernateException: Unable to locate persister: DataTransfer.Customer
TargetSite: Void OnLoad(NHibernate.Event.LoadEvent, NHibernate.Event.LoadType)
HelpLink: null
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.Get(String entityName, Object id)
at NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id)
at NHibernate.Impl.SessionImpl.Get[T](Object id)
at DataAccessLayer.NhibernateDataProvider.GetCustomerById(Int32 customerId)
我非常未受教育的猜测是看不到 Customer 类。但是单元测试和数据访问层都引用了包含 Customer 类的 DataTransfer 程序集。 Customer 类是公共的,所有属性都是公共虚拟的。
nHB 配置文件在目录中,客户映射文件是嵌入式资源。似乎失败了 行:
return session.Get<Customer>(customerId);
【问题讨论】:
标签: nhibernate