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 Буду оооочень благодарен за помощь