Tengo una tabla de datos heredada en SQL Server 2005 que tiene una PK sin identidad/autoincrement y no hay poder para implementar una.Cómo evitar una condición de carrera de la base de datos al incrementar manualmente PK de la nueva fila
Como resultado, me veo forzado a crear nuevos registros en ASP.NET manualmente a través de la nueva técnica "SELECT MAX (id) + 1 FROM table" -antes de la inserción.
Obviamente, esto crea una condición de carrera en la identificación en el caso de insertos simultáneos.
¿Cuál es la mejor manera de resolver grácilmente el evento de una colisión racial? Estoy buscando ideas de código VB.NET o C# a lo largo de las líneas de detección de una colisión y luego volver a intentar la inserción fallida al obtener otro máximo (id) + 1. ¿Se puede hacer esto?
¿Pensamientos? ¿Comentarios? ¿Sabiduría?
¡Gracias!
NOTA: ¿Qué pasa si no puedo cambiar la base de datos de alguna manera?
Justo lo que necesitaba gracias !!! –