2013-03-11 2 views
1

Я пытаюсь изменить значение, хранящееся в базе данных, но я не уверен, о том, как сделать это,как обновить базу данных с помощью LINQ к SQL

using (DataClassesDataContext dataContext = new DataClassesDataContext()) 
{   
int accounttype = 1; 
int id = 123; 
//Search database for record based on round and player nummber 
var query = (from r in dataContext.Tables 
      where r.accountType.Equals(accounttype) 
      where r.ID.Equals(Id) 
      select r); 

//store player1s oppent in database 
foreach (var record in query) 
{ 
    record.fund = 1234; 

    dataContext.Tables.InsertOnSubmit(record); 
    dataContext.SubmitChanges(); 
} 
} 

поэтому я пытаюсь найти в базе данных конкретную запись и изменить одно из ее значений, но я не могу понять, как ее обновить, я знаю, что «InsertOnSubmit» ошибается.

ответ

1

Попробуйте это:

record.fund = 1234; 
dataContext.Entry(record).State = EntityState.Modified; 
dataContext.SaveChanges(); 

Также вам может понадобиться изменить запрос типа:

var query = (from r in dataContext.YourTable 
      where r.accountType == accounttype && r.ID == Id 
      select r); 
+0

не работает, он говорит, что его нуждается в использовании ссылки на «Вход»: \ –

+0

Ну им с помощью Visual Studio, и он не распознает «и» как ключевое слово –

+0

попробуйте его без средней строки первого фрагмента кода. И вместо 'and' write' && ' –

Смежные вопросы