У меня ужасно с базами данных, поэтому, пожалуйста, потерпите меня.
У меня есть программа, которая получает некоторую информацию о пользователе и добавляет ее в таблицу базы данных.Затем мне нужно получить больше информации для этой таблицы и обновить ее.Для этого я попытался сделать это:
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());
}
}
Но я получаю эту ошибку:
System.InvalidOperationException: Невозможно добавить сущность, которая уже существует.
Я знаюэто потому, что у меня уже есть запись в таблице, но я не знаю, как редактировать код для обновления и не пытаться создать новый?
Почему это не работает?Не будут ли изменения в текущем элементе обновлять этот элемент и не создавать новый?