Я присваиваю ответ Марка в качестве ответа, но я бы хотел немного рассказать о том, как мы реализовали это требование.
Ответ Марк очень помог в формулировании нашего решения.
Нам приходилось иметь дело с целью / руководством, чтобы придерживаться Entity Framework, не используя SPROCS, и хотя наше решение может не подходить другим, оно работало для нас
Мы создали таблицу элементов в базе данных с колонками BatchId [uniqueidentifier] и ItemId varchar.
Эта таблица была добавлена в модель EF, поэтому мы не использовали временные таблицы.
При загрузке этих идентификаторов эта таблица заполняется идентификаторами [Вставки выполняются достаточно быстро, мы находим EF]
Затем мы используем context.ExecuteStoreCommand для запуска SQL, чтобы объединить таблицу элементов и основную таблицу и обновить битовое поле в основной таблице для записей, которые существуют для идентификатора пакета, созданного специально для этого сеанса.
Мы наконец очищаем эту таблицу для этого batchId.
У нас есть производительность, не выходящая за рамки нашей цели SPROC. [Что не из нас согласны с :), но это демократия]
Наши точные требования немного сложнее, но они требуют хорошей производительности обновления с использованием инфраструктуры Entity, учитывая наши специфические ограничения, они прекрасно работают.
Ли