Soy terrible con las bases de datos así que por favor tengan paciencia conmigo.Cómo actualizar una base de datos con nueva información
Tengo un programa que obtiene cierta información del usuario y la agrega a una tabla de base de datos. Luego necesito obtener más información para esa tabla y actualizarla. Para ello he tratado de hacer esto:
public static void updateInfo(string ID, string email, bool pub)
{
try
{
//Get new data context
MyDataDataContext db = GetNewDataContext(); //Creates a new data context
//Table used to get user information
User user = db.Users.SingleOrDefault(x => x.UserId == long.Parse(ID));
//Checks to see if we have a match
if (user != null)
{
//Add values
user.Email = email;
user.Publish = publish;
}
//Prep to submit changes
db.Users.InsertOnSubmit(user);
//Submit changes
db.SubmitChanges();
}
catch (Exception ex)
{
//Log error
Log(ex.ToString());
}
}
pero me sale este error:
System.InvalidOperationException: No se puede agregar una entidad que ya existe.
Sé que esto se debe a que ya tengo una entrada en la tabla, pero no sé cómo editar el código para actualizar y no intentar crear uno nuevo.
¿Por qué esto no funciona? ¿No enviaría cambios en un elemento actual para actualizar ese elemento y no crear uno nuevo?
Sí que lo hizo. Gracias por la ayuda –
Se fusionó en mi segunda respuesta anterior sobre el uso de ... –