Я пытаюсь использовать Dapper для поддержки доступа к данным для моего серверного приложения.
В моем серверном приложении есть другое приложение, которое сбрасывает записи в мою базу данных со скоростью 400 в минуту.
Мое приложение извлекает их партиями, обрабатывает и затем удаляет их из базы данных.
Поскольку данные продолжают поступать в базу данных во время обработки, у меня нет хорошего способа сказать delete from myTable where allProcessed = true
.
Однако я знаю значение PK удаляемых строк. Поэтому я хочу сделать delete from myTable where Id in @listToDelete
Проблема в том, что если мой сервер отключается хотя бы на 6 минут, у меня есть более 2100 строк для удаления.
Поскольку Dapper принимает мой @listToDelete и превращает каждый из них в параметр, мой вызов удалить не удастся. (Причинение моей очистки данных, чтобы получить еще дальше.)
Как лучше всего справиться с этим в Dapper?
ПРИМЕЧАНИЯ:
Я посмотрел на Tabled Valued Parameters, но из того, что я вижу, они не очень производительные . Эта часть моей архитектуры является узким местом в моей системе, и мне нужно быть очень очень быстрым.