2013-03-11 26 views
1

我试图改变存储在数据库中的值更新数据库,但我对如何做到这一点不确定,如何使用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(); 
} 
} 

,所以我试图寻找数据库一个特定的记录,并改变它的一个值,但我似乎无法解决如何更新它,但我知道“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

does not工作,它说,它需要为“进入”一个使用参考:\ – 2013-03-11 12:42:17

+0

以及即时通讯使用Visual Studio,它不认可“和”作为关键字 – 2013-03-11 12:44:46

+0

尝试它没有第一个代码片段的中间行。 而不是'和'写'&&' – 2013-03-11 12:45:28