Мне не удалось сохранить обнуляемое перечисление, используя NHibernate с конфигурацией Fluent NHibernate. NHibernate пытается сохранить строковое представление перечисления, и я получаю ошибку
System.Data.SqlClient.SqlException: Conversion failed when converting the
nvarchar value 'VGS' to data type tinyint.
Свойство определено как
public virtual CostContributor? ReplacementContributor { get; private set; }
и отображение
Map(x => x.ReplacementContributor).CustomTypeIs(typeof(CostContributor?));
Я пробовал каждую комбинацию CustomTypeIs и CustomSqlTypeIs, включая замену int? или байт? для CostContributor ?, но ничего не сработало. Он отлично работает, если я сделаю его ненулевым типом.
Можно ли отобразить обнуляемое перечисление в NHibernate? Или это ошибка или неподдерживаемая функция в NHibernate?
Если я не смогу выполнить эту работу, я добавлю неопределенное значение в мое перечисление как обходной путь.