Как правильно создать таблицу из одной строки, используя IEntityTypeConfiguration - PullRequest
1 голос
/ 01 мая 2019

Как правильно ограничить DbSet<CustomEntity> для хранения одной строки, используя IEntityTypeConfiguration<CustomEntity>?

В настоящее время я ограничиваю GetAsync(int id) метод репозитория этого объекта, чтобы он возвращал только первую строку и,на AddAsync(CustomEntity newEntity), проверяя каждый раз, когда добавляются новые записи, чтобы убедиться, что есть только одна в DbSet<CustomEntity>.

Вот IEntityTypeConfiguration<CustomEntity>, который я использую:


public class CustomEntityConfiguration : IEntityTypeConfiguration<CustomEntity>
{
    public void Configure(EntityTypeBuilder<CustomEntity> builder)
    {
        // ID
        builder.HasKey(e => e.Id);

        builder.Property(e => e.Titulo).IsRequired().HasMaxLength(255);
        builder.Property(e => e.Dth).IsRequired();
        builder.Property(e => e.Resumo).HasMaxLength(2000);
        builder.Property(e => e.Pago);
        builder.Property(e => e.Publico);
        builder.Property(e => e.LinkFacebook).HasMaxLength(255);
        builder.Property(e => e.LinkWebsite).HasMaxLength(255);
        builder.Property(e => e.LinkYouTube).HasMaxLength(255);
    }
}

1 Ответ

1 голос
/ 01 мая 2019

В основном вам нужно достичь этого через ваш репозиторий. EntityTypeConfiguration указывает только отображения между вашим CustomEntity и таблицей базы данных. Вы можете применять QueryFilters для возврата только элементов, основанных на определенных критериях. Но я бы предложил обработать эту бизнес-логику в вашем хранилище. Вот документация о том, как их использовать

https://docs.microsoft.com/en-us/ef/core/querying/filters

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...