Теперь у вас есть полное и безопасное использование с использованием табличного параметра с одним циклом между c # и сервером sql.

у принимать около 1000 записей в определенный момент времени, и я должен определить, являются ли они существующими записями или новыми записями.

Если они существуют, я должен обновить записи, если новые, то просто вставить их. Я не буду знать, будет ли какой-либо из них существовать или все они будут существовать.

Я подумал, что лучше всего сделать один запрос к базе данных и попытаться найти, существует ли какой-либо из них в БД, сохранить их в памяти, проверить эту коллекцию в памяти и проверить это.

Первоначально мне сказали, что 1 поля будет достаточно для определения уникальности. Поэтому я подумал, что мог бы просто сделать 1 большое предложение против 1 поля в базе данных, но теперь я обнаружил, что это не так, и мне нужно использовать 3 поля, чтобы определить, существует ли запись или сейчас.

Это в основном и пункт

select * from where columnA = "1" and ColumnB = "2" and ColumnC = "3"

Как я могу правильно исправить это в C # ado.net?

Я предполагаю, что мне нужно иметь как-то супер, где пункт?

select * from where (columnA = "1" and ColumnB = "2" and ColumnC = "3") or  (columnA = "4" and ColumnB = "5" and ColumnC = "6") or [....998 more conditional clauses)

Я открыт для лучших идей, если это возможно. Я все еще думаю, что делать это за 1 выстрел лучше, чем делать 1000 отдельных запросов.

Ответы на вопрос(2)

Ваш ответ на вопрос