как использовать EnumToNumberConverter для обнуляемого enum - PullRequest
0 голосов
/ 17 января 2020

В моей сущности есть свойство Enum типа Nullable с именем Status.

         public class MyType
         {
           [Column("StatusId")]
           public Nullable<AccountPaymentType> Status{ get; set; }
         }

         modelBuilder
        .Entity<MyType>()
        .Property(e => e.Status)
        .HasConversion(new EnumToNumberConverter<Enum.Status, int>());

Преобразователь завершается ошибкой, если DB возвращает ноль. Как я могу это поддержать?

Я видел, что в классе EnumToNumberConverter есть конструктор как

 public EnumToNumberConverter([CanBeNullAttribute] ConverterMappingHints mappingHints = null);

Но я не знаю, как его использовать.

1 Ответ

0 голосов
/ 17 января 2020

Вы можете попробовать это:

            public class MyType
             {
               [Column("StatusId")]
               public Nullable<AccountPaymentType> Status{ get; set; }
             }

             modelBuilder
            .Entity<MyType>()
            .Property(e => e.Status)
            .HasDefaultValue(AccountPaymentType.[YOUR_DEFAULT_VALUE])
            .HasConversion(new EnumToNumberConverter<Enum.Status, int>());
...