如何使用实体数据模型(EDMX)插入表

时间:2012-10-26 18:38:15

标签: frameworks insert entity

我正在尝试在VB.NET中编写一个按钮处理程序,它将从gridview中读取行,如果选中了复选框,则将它们写入数据库。

我将此应用程序设置为使用EntityDataSource并将我的.edmx文件添加到DAL文件夹中。我编写了按钮方法,但我不太了解EF知道如何处理来自gridview的数据。这是我的btn_click方法:

Private Sub btnGetChecks_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGetChecks.Click
'********************************************
'* gets status of checkbox and writes to db *
'********************************************
Dim row As GridViewRow

Label6.Text = ""
For Each row In DvsGridView.Rows
  Dim RowCheckBox As CheckBox = CType(row.FindControl("chkStatus"), CheckBox)
  If RowCheckBox.Checked Then
    Label6.Text += row.Cells(5).Text & " Checked "
    ' Need to write checked data to the db
    ' ******* WHAT GOES HERE? *******
    Else

    Label6.Text += row.Cells(5).Text & " Unchecked "

  End If
Next
End Sub

我是EDMX的新手,但了解VB.net。任何方向都将不胜感激。

2 个答案:

答案 0 :(得分:1)

检查此示例代码并修改此代码以匹配您的实体和对象

 Using db As New DBEntities()

   'set values here
    Dim x As New TableNameE()

    x.col1 = "value1"
    x.col2 = "value2"

    db.AddToTableNameE(x)
    db.SaveChanges()
End Using

答案 1 :(得分:0)

感谢@rs。,我能够找出问题所在。参考接受的答案,对于那些想知道什么.AddToTableNameE()应该在你的项目中的人来说,它只是.Add(x)。对于每一行使用.SaveChanges()也会造成性能损失,你应该创建一个Dim List(Of TableNameE())并将“x”添加到列表中,然后像这样使用.AddRange():

this.authenticated$.next(true)