Как проверить наличие записей одной пачкой?

Мне необходимо проверить существование Id в БД. Сейчас я проверяю по одной записи, что не очень эффективно

    public override long Ask(CountVkInfoById criterion)
    {
        string sql = @"SELECT COUNT(1) 
                       FROM vkinfo
                       WHERE
                           Id = @Id";

        return Connection.ExecuteScalar<long>(sql, new
        {
            Id = criterion.Id
        });
    }

Вызывается данный код следующим образом

    public IEnumerable<VkDocumentWrapper> GetNotProcessed(IEnumerable<VkDocumentWrapper> inputs)
    {
        var inputsToArray = inputs.ToArray();

        return inputsToArray.Where(x => _queryBuilder.For<long>()
            .With(new CountVkInfoById(x.Document.Id)) == 0);
    }

В метод GetNotProcessed поступает коллекция записей, мне нужно из это коллекции получить новую коллекцию, элементов, которых нет в БД -- это проверяется по Id


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