Мне нужно отобразить нулевое перечисление в моем классе, но я получаю исключения.Fluent NHibernate mapping nullable enum
NHibernate.PropertyAccessException: Invalid Cast (проверьте ваше сопоставление для несоответствий типа свойства); setter из App.Model.Stock ---> System.InvalidCastException: Указанное приведение недействительно.
Я сузил проблему до одного конкретного свойства, которое я описываю ниже.
Это было ранее сообщено here, но решение ссылается на страницу, которая больше не существует.
Вот мой код, который я сократил, чтобы содержать только те части, которые меня интересуют.
public enum eColor
{
Red,
Blue
}
public class Stock
{
public virtual eColor? Color { get; protected set; }
}
Вот мое отображение (урезанная):
public class StockMap : ClassMap<Stock>
{
Map(x => x.Color).CustomType<int>();
}
Я попытался все следующие с теми же результатами:
Map(x => x.Color).CustomType<int>();
Map(x => x.Color).CustomType<int?>();
Map(x => x.Color).CustomType<int>().Nullable();
Map(x => x.Color).CustomType<int?>().Nullable();
Это, как представляется, ошибка долго назад, и было обходное решение. Я использую Fluent 1.3.0.0 и NHibernate 3.3.1.4000.
Если у вас такая же проблема, это сработало, спасибо! – iamserious