EntityFramework не создаёт свойства для перечисления

Всем доброй ночи! Подскажите пожалуйста, почему entityframework создаёт свойства для всех типов в postgresql, кроме своих (в моём случае это перечисление)?

У меня имеется следующая таблица в PostgreSQL:

CREATE TYPE ANIMAL_TYPE as ENUM('Кошка', 'Котёнок', 'Собака', 'Щенок');

CREATE TYPE ANIMAL_SIZE as ENUM('Большой', 'Средний', 'Маленький');

CREATE TYPE ANIMAL_HAIR as ENUM('Короткошёрстная', 'Длинношёрстная', 'Жесткошёрстная', 'Кудрявая');

CREATE TABLE Animal
(
id SERIAL PRIMARY KEY,
animalType ANIMAL_TYPE,
kingColor VARCHAR(50),
size ANIMAL_SIZE,
hair ANIMAL_HAIR,
ears VARCHAR(50),
tail VARCHAR(50),
    description VARCHAR(50)
);

EntityFrameworkCore в C# создаёт следующее:

    public partial class Animal
        {
            public Animal()
            {
                Cards = new HashSet<Card>();
            }
    
            public int Id { get; set; }
            public string Kingcolor { get; set; }
            public string Ears { get; set; }
            public string Tail { get; set; }
            public string Description { get; set; }
    
            public virtual ICollection<Card> Cards { get; set; }
        }

    // Уже в другом классе и файле:
        protected override void OnModelCreating(ModelBuilder modelBuilder)
                {
                    modelBuilder.HasPostgresEnum("animal_hair", new[] { "Короткошёрстная", "Длинношёрстная", "Жесткошёрстная", "Кудрявая" })
                        .HasPostgresEnum("animal_size", new[] { "Большой", "Средний", "Маленький" })
                        .HasPostgresEnum("animal_type", new[] { "Кошка", "Котёнок", "Собака", "Щенок" });
        
                    modelBuilder.Entity<Animal>(entity =>
                    {
                        entity.ToTable("animal");
        
                        entity.Property(e => e.Id).HasColumnName("id");
        
                        entity.Property(e => e.Description)
                            .HasMaxLength(50)
                            .HasColumnName("description");
        
                        entity.Property(e => e.Ears)
                            .HasMaxLength(50)
                            .HasColumnName("ears");
        
                        entity.Property(e => e.Kingcolor)
                            .HasMaxLength(50)
                            .HasColumnName("kingcolor");
        
                        entity.Property(e => e.Tail)
                            .HasMaxLength(50)
                            .HasColumnName("tail");
                    });
OnModelCreatingPartial(modelBuilder);
        }

Я вот не понимаю, как в данном случае использовать метод OnModelCreating Буду оооочень благодарен за помощь


Ответы (0 шт):