láusula @Build Where dinamicamente no Ado.net C #

Vou receber cerca de 1000 registros em um determinado momento e preciso determinar se são registros existentes ou novo

Se eles existirem, tenho que atualizar os registros, se novos, basta inseri-los. Não saberei se algum deles existirá ou se todos existirã

Pensei que seria melhor fazer uma consulta ao banco de dados e tentar descobrir se alguma delas existe no banco de dados, armazená-las na memória e verificar essa coleção na memória e verificar iss

Originalmente me disseram que 1 campo seria suficiente para determinar a exclusividade. Por isso, pensei em fazer apenas uma cláusula grande contra 1 campo no banco de dados, mas agora descobri que não é esse o caso e preciso usar 3 campos para determinar se o registro existe ou agor

Este é basicamente uma cláusula e

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

Como posso corrigir isso corretamente em c # ado.net

Acho que vou precisar de uma cláusula super wher

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)

Estou aberto a melhores idéias, se possível. Ainda acho que fazê-lo de uma só vez é melhor do que fazer 1000 consultas separada

questionAnswers(2)

yourAnswerToTheQuestion