2013-03-11 3 views
1

Je suis en train de changer une valeur stockée dans une base de données, mais je ne suis pas sûr sur la façon de le faire,comment mettre à jour une base de données en utilisant LINQ to 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(); 
} 
} 

donc je suis en train de rechercher la base de données un enregistrement particulier et changer une de ses valeurs, mais je ne peux pas sembler travailler sur la façon de le mettre à jour, je sais que "InsertOnSubmit" est faux cependant.

Répondre

1

Essayez ceci:

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

Aussi, vous devrez peut-être modifier votre requête comme:

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

travail ne marche pas, il dit à ses besoins une référence à l'aide pour « Entrée »: \ –

+0

bien im en utilisant Visual Studio, et il ne reconnaît pas "et" comme un mot-clé –

+0

l'essayer sans la ligne du milieu du premier extrait de code. Au lieu de 'et', écrivez' && ' –

Questions connexes