example - linq update vb net
LINQ no está actualizando en.SubmitChanges() (2)
¿Hay alguna razón por la cual algo como esto no funcionaría?
Esta es la lógica que he usado muchas veces para actualizar un registro en una tabla con LINQ:
DataClasses1DataContext db = new DataClasses1DataContext();
User updateUser = db.Users.Single(e => e.user == user);
updateUser.InUse = !updateUser.InUse;
db.Log = new System.IO.StreamWriter(@"c:/temp/linq.log") { AutoFlush = true };
db.SubmitChanges();
(updateUser.InUse es un campo de bit)
Por alguna razón, no está funcionando. Cuando reviso linq.log, está completamente en blanco.
¿Podría haber un problema con mi .dbml? Otras tablas parecen funcionar bien, pero he comparado propiedades en el archivo .dbml y todas coinciden.
Es como si el db.SubmitChanges()
; no detecta ninguna actualización requerida.
¿La propiedad InUse es "normal" en lo que se refiere a LINQ? (por ejemplo, no está autogenerado ni tiene nada de funky como ese).
Alternativamente, no creo que sea un <bool> Nullable, ¿es con un valor actual nulo? Si es así, su línea de actualización no está haciendo realmente nada - para booleanos que aceptan valores nulos,! Null = null.
La tabla no se pudo actualizar correctamente porque no tenía clave principal. (En realidad tenía la columna, pero la restricción no se copió cuando hice un SELECT INTO mi tabla de desarrollo). La clase DataContext requiere una clave principal para las actualizaciones.