У меня возникли некоторые проблемы с использованием nHibernate, автоподстановкой и структурой классов с использованием нескольких цепочек абстрактных классов
Это что-то сродни этому
public abstract class AbstractClassA {}
public abstract class AbstractClassB : AbstractClassA {}
public class ClassA : AbstractClassB {}
Когда я пытаюсь построить эти отображения, я получаю следующую ошибку
"FluentNHibernate.Cfg.FluentConfigurationException не обработан
Сообщение: неверная или неполная конфигурация использовалась при создании SessionFactory. Проверьте коллекцию PotentialReasons и InnerException для более подробной информации.
- База данных не была настроена с помощью метода Database. "
Однако, если я уберу ключевое слово abstract из AbstractClassB, все будет работать нормально. Проблема возникает только тогда, когда у меня есть несколько абстрактных классов в иерархии классов.
Я вручную сконфигурировал автоматическое отображение, включив в него и AbstractClassA, и AbstractClassB, используя следующий класс привязки
public class BindItemBases : IManualBinding
{
public void Bind(FluentNHibernate.Automapping.AutoPersistenceModel model)
{
model.IncludeBase<AbstractClassA>();
model.IncludeBase<AbstractClassB>();
}
}
Мне пришлось немного взломать, чтобы обойти это, но должен быть лучший способ заставить это работать. Конечно, nHibernate поддерживает что-то вроде этого, я просто не понял, как правильно его настроить.
Приветствия
Джеймс