Выполнение VS2003, nHB 3.0.0.3001, попытка запуска модульного теста через Gallio 3.2. Код начинается с первого сеанса «Лето nHibernate». При попытке выполнить тест я получаю следующую ошибку.nHibernate: Не удалось найти persister
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 не может быть замечен. Но как модульный тест, так и уровни доступа к данным имеют ссылку на сборку DataTransfer, которая содержит класс Customer. Класс Customer является общедоступным, и все свойства являются общедоступными.
Конфигурационный файл nHB находится в каталоге, а файл сопоставления клиентов является встроенным ресурсом. Кажется, сбой на линии :
return session.Get<Customer>(customerId);
FYI - для пункт 2, посмотрите на свойства файла XML в студии, это верхний поле со списком (я считаю, что по умолчанию это Do not Copy, но у меня нет открытой Studio). – 2010-12-03 11:08:21
Да, файл сопоставления был назван hbn.xml не hbm.xml спасибо за помощь. – 2010-12-05 02:15:12