Вот классы модели домена:
public abstract class BaseClass
{
...
}
public class ChildClass : BaseClass
{
...
}
Обратите внимание, что родительский класс является абстрактным, и это то, что доставляет мне некоторые трудности, когда приходит время для отображения с беглым nhibernate. Мой дискриминатор - это байт (tinyint в БД). Поскольку это не строка, и мне не удается установить значение дискриминатора для базового класса, это не работает (взято из класса отображения для BaseClass):
DiscriminateSubClassesOnColumn<byte>("Type")
.SubClass<ChildClass>()
.IsIdentifiedBy((byte)OperationType.Plan)
.MapSubClassColumns(p => { ... })
Я получаю сообщение об ошибке:
Метод инициализации класса UnitTest1.MyClassInitialize вызвал исключение. NHibernate.MappingException: NHibernate.MappingException: не удалось отформатировать значение дискриминатора в строке SQL объекта BaseClass ---> System.FormatException: входная строка была в неправильном формате ..
Следующий пост, кажется, объясняет, что происходит. Они дают решение с xml, но не с беглым nhibernate: http://forum.hibernate.org/viewtopic.php?t=974225
Спасибо за помощь.