Запуск 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 не виден. Но и модульный тест, и уровни доступа к данным имеют ссылку на сборку DataTransfer, которая содержит класс Customer. Класс Customer является общедоступным, а все свойства общедоступными виртуальными.
Файл конфигурации nHB находится в каталоге, а файл сопоставления с клиентами является встроенным ресурсом. Кажется, не на
строка:
return session.Get<Customer>(customerId);