Объекты, импортируемые в базу данных Sqlite, когда список объектов равен нулю - PullRequest
0 голосов
/ 17 апреля 2020

Итак, я пытаюсь подсчитать количество людей, которые были импортированы в базу данных. Там могут быть дубликаты людей, поэтому, если человек уже есть в базе данных, я бы пропустил его. Это то, что у меня есть:

HumanImporter.cs

            var humanSet = _dbContext.Set<HumanEntity>();
            var entitiesToBeAdded = humanList.Where(x => humanSet.All(y => y != x));
            _dbContext.AddRange(entitiesToBeAdded);
            _dbContext.SaveChanges();
            return entitiesToBeAdded.Count();

Моя конфигурация базы данных:

ApplicationDbContext.cs

 public class ApplicationDbContext : DbContext 
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
        {
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);
        }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);

            builder.ApplyConfiguration(new HumanEntityTypeConfiguration());
        }
    }

HumanEntityTypeConfiguration.cs

  public class HumanEntityTypeConfiguration : IEntityTypeConfiguration<HumanEntity>
    {
        public void Configure(EntityTypeBuilder<HumanEntity> builder)
        {
            builder.MakeEntityBase()
                .ToTable("Humans");
        }
    }

Проблема заключается в том, что HumanImporter возвращает счетчик 0. HumanSet имеет счетчик 0, а entityToBeAdded равен нулю. Тем не менее, сущности по-прежнему импортируются в базу данных, что меня смущает. Что-то мне не хватает?

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