使用LINQ更新记录列表

时间:2009-12-11 21:02:24

标签: linq gridview

我的webforms页面上有一个可编辑的GridView。用户可以输入记录,在使用LINQ命中提交后,我将记录插入数据库。它工作得非常好。

我无法弄清楚如何更新记录。一旦用户点击提交按钮,我就会在GridView中填充记录,我需要更新现有记录。

如何做到这一点?

Dim db as new empDBDataContext
Dim rw As GridViewRow
Dim emp as new employee
emp.name="test"
emp.city="NYC"
emp.age=40
For each rw in GridView1.Rows
   Dim cert as new certifications
   cert.Name=CType(rw.FindControl("lblCert"), TextBox).Text
   cert.score=CType(rw.FindControl("lblScore"), TextBox).Text     
   emp.cert.add(cert)
Next

db.emp.insertonsubmit(emp)
db.submitChanges()

1 个答案:

答案 0 :(得分:1)

您可以使用您的唯一标识符来验证数据库中的行(我使用lblId作为控件名称)。然后,将属性设置为更新的值。它与您为插入物所做的非常相似。请原谅我的VB语法无知......

For each rw in GridView1.Rows
 // Load the cert based on the ID of the row.
 Dim cert
 cert = (from c in db.certifications
        where c.Id = (int) CType(rw.FindControl("lblId"), TextBox).Text).Single()
 // Update the values.
 cert.Name=CType(rw.FindControl("lblCert"), TextBox).Text
 cert.score=CType(rw.FindControl("lblScore"), TextBox).Text
Next

// Submit all the changes.
db.submitChanges()