Я использую Fluent NHibernate для сопоставления классов с базой данных и использую PersistenceSpecification.VerifyTheMappings () для проверки сопоставлений в моих модульных тестах.
Если ClassA имеет свойство типа ClassB, и я хочу проверить сопоставление, я сначала создаю экземпляр ClassB, а затем пытаюсь использовать его с PersistenceSpecification, например так:
ClassB classB = new ClassB();
new PersistenceSpecification<ClassA>(session)
.CheckProperty(x => x.ClassB, classB)
.VerifyTheMappings();
Когда я запускаю тест в NUnit, тест не выполняется со следующей ошибкой:
System.ApplicationException: для свойства «ClassB» ожидалось «MyNamespace.ClassB» типа «MyNamespace.ClassB», но получено «ClassBProxyf24bc4 ...» типа «MyNamespace.ClassB»
Я также попытался использовать «CheckReference» вместо «CheckProperty», но я получил те же результаты. Создание экземпляра ClassB, встроенного в CheckProperty (), также не имело значения - не то, чтобы я ожидал, что это ...
Я встречал в Интернете примеры кода, которые подразумевают, что это должно работать. Что мне здесь не хватает?