Tengo un problema simple que lee un archivo Excel (usando interoperabilidad) y rellena un archivo de base de datos MSSQL con algunos datos extraídos de él. Eso está bien hasta ahora. Tengo una tabla Tiendas con los siguientes campos:LINQ to SQL - La base de datos generó una clave que ya está en uso
- ID: int, generada automáticamente, la sincronización automática: el inserto
- Nombre: cadena
- Solución: cadena
- Provincia: cadena
- Dirección: cadena
leí el archivo de Excel, y luego crear un nuevo objeto Tiendas y establecer el nombre, Asentamiento, Condado y Dirección propert y llamo Shops.InsertOnSubmit() con el nuevo objeto Shops.
Después de esto tengo que restablecer la base de datos (al menos, la tabla), para lo cual la forma más fácil que encontré fue llamar al método DeleteDatabase() y luego llamar a CreateDatabase() nuevamente. El problema es que después del primer restablecimiento, cuando trato de llenar la tabla de nuevo, obtengo la excepción: la base de datos generó una clave que ya está en uso.
Además, desde ese momento, no puedo usar ese archivo de base de datos, porque DatabaseExists() devuelve FALSE, pero cuando invoco el método CreateDatabase(), arroja una excepción, que la base de datos ya existe (aunque los archivos de datos no existen).
¿Qué estoy haciendo mal? ¡Muchas gracias de antemano!
Muchas gracias, deseché el contexto de datos después de eliminar la base de datos y luego lo reinstalé y recreé para que esté funcionando ahora. ¡Muchas gracias! Una cosa más: ¿cómo puedo 'liberar' las bases de datos que creé hasta ahora? MSSQL no me permitirá crear bases de datos con ese nombre ... – ShdNx
No lo sé, me temo. –
Gracias. Tuve un problema similar porque dejé ASP.Net Development Server ejecutándose mientras volvía a implementar la base de datos. Debo recordar apagar el servidor de desarrollo antes de volver a implementarlo. –