Recomendar o uso da tabela temporária ou variável de tabela no Entity Framework 4. Atualizar estrutura de entidade de desempenho
Preciso atualizar um campo de bit em uma tabela e definir esse campo como true para uma lista específica de IDs nessa tabela.
Os IDs são transmitidos de um processo externo.
Eu acho que no SQL puro, a maneira mais eficiente seria criar uma tabela temporária e preenchê-la com os IDs; em seguida, junte-se à tabela principal com isso e defina o campo de bits de acordo.
Eu poderia criar um SPROC para obter os IDs, mas poderia haver de 200 a 300.000 linhas envolvidas que precisem desse sinalizador, portanto provavelmente não é a maneira mais eficiente. O uso da instrução IN limita a quantidade de dados que podem ser transmitidos e o desempenho.
Como posso obter o que foi dito acima usando o Entity Framework
Eu acho que é possível criar um SPROC para criar uma tabela temporária, mas isso não existiria da perspectiva dos modelos.
Existe uma maneira de adicionar dinamicamente entidades em tempo de execução. [Ou essa abordagem só vai causar dores de cabeça].
Estou assumindo que preencher uma tabela temporária com 300.000 linhas e fazer uma junção seria mais rápido do que chamar um SPROC 300.000 vezes :) [The Ids are Guids]
Existe outra abordagem que eu deveria considerar.