linq no me graba los datos

12/11/2009 - 17:16 por damian | Informe spam
Hola, antes que nada les comento que soy nuevo en este foro. Hace un
tiempo que estoy empezando con C# y hace un par de dias me beje el C#
Express 2008 y lo primero que quise probar fue Linq to Sql. Siguiendo
los tutoriales que pude encontrar por la web trate de hacer una pruba.
Cree una base de datos en sql expres 2008 y le agregue una tabla
"clientes". Cree el objeto de linq y un formulario para poder
interactuar.
Lo primero que hice fue llenar unos registro a mano desde el
explorador de base de datos.
cree las consultas con los objetos de linq y anduvo bien.
Pero cuando quise insertar un nuevo registro ahi me trabe. No me sale
ningun error. Aparentemente funciona, pero cuando voy al explorador de
base de datos el registro que cree no existe.
Trate de hacer una prueba, tratando de actualizar un registro
existente y nuevamente no me graba los cambios.
¿Que puede estar pasando? algo debo tener mal configurado pero no
puedo darme cuenta.
Aca les dejo el codigo:

DataClasses1DataContext dc = new DataClasses1DataContext
();

clientes cliente = new clientes();
cliente.nombre = "Juan Perez";
cliente.localidad = "Buenos Aires";
cliente.direccion = "Pampa y la via";
cliente.cuit = "123456789";
cliente.dni = "1234567989";
dc.clientes.InsertOnSubmit(cliente);
try
{
dc.SubmitChanges
(System.Data.Linq.ConflictMode.FailOnFirstConflict);
MessageBox.Show(cliente.nombre);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

Aclaro que la clase cliente tiene un campo id que es autoincremental y
lo tengo como primary key

Desde ya gracias por sus aportes
 

Leer las respuestas

#1 Alberto Poblacion
12/11/2009 - 17:38 | Informe spam
"damian" wrote in message
news:
[...] Pero cuando quise insertar un nuevo registro ahi me trabe. No me
sale
ningun error. Aparentemente funciona, pero cuando voy al explorador de
base de datos el registro que cree no existe.



El código de ejemplo que acompañas aparentemente parece correcto.
Cuando dices que compruebas si el registro te lo ha insertado, ¿estás
seguro de que lo miras en la base de datos correcta? Si estás usando el Sql
Server Express en modo "instancia de usuario" con la configuración
predeterminada, el comportamiento por defecto del Visual Studio consiste en
que te crea un .mdf en el directorio del proyecto, y cuando lo ejecutas
desde el debugger te saca una copia del .mdf al directorio Debug y ejecuta
el código contra esa copia. Lógicamente, te inserta en ella el nuevo
registro, pero si vas y examinas el .mdf original que creaste en el
directorio del proyecto, evidentemente no aparece ese registro.

Preguntas similares