Frameworks 如何使用实体数据模型(EDMX)插入到表中
我试图在VB.NET中编写一个按钮处理程序,如果选中复选框,它将从gridview中读取行并将它们写入DB 我将此应用程序设置为使用EntityDataSource,并将我的.edmx文件添加到DAL文件夹中。我已经编写了button方法,但是我对EF的了解还不够,不知道如何处理gridview中的数据。以下是我的btn_点击方法:Frameworks 如何使用实体数据模型(EDMX)插入到表中,frameworks,insert,entity,Frameworks,Insert,Entity,我试图在VB.NET中编写一个按钮处理程序,如果选中复选框,它将从gridview中读取行并将它们写入DB 我将此应用程序设置为使用EntityDataSource,并将我的.edmx文件添加到DAL文件夹中。我已经编写了button方法,但是我对EF的了解还不够,不知道如何处理gridview中的数据。以下是我的btn_点击方法: Private Sub btnGetChecks_Click(ByVal sender As Object, ByVal e As System.EventArgs
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。任何方向都将不胜感激。请检查此示例代码,并对其进行修改以匹配您的实体和对象
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
多亏了@rs,我才能够解决我的问题。参考公认的答案,对于那些想知道proj中应该包含什么.addToTableName()的人来说,应该是.Add(x)。对于每一行,使用.SaveChanges()也会在一定程度上影响性能,您应该创建一个Dim列表(tablename())并将“x”添加到列表中,然后像这样使用.AddRange():
//creating a data access class is one way to connect to your db by passing in db path
Dim context As New Namespace.YourContext(New DataAccessClass() With {.Path = aBrowsedForSDFFileTextBoxMaybe.Text})
Dim listOfTableObjects As List(Of Namespace.TableObject) = New List(Of Namespace.TableObject)
For n = 1 To SomethingRelatedToRows
Dim tableObject As New Namespace.TableObject() With {
.entityProp1 = TableObject(n).entityProp1,
.entityProp2 = TableObject(n).entityProp2,
.entityProp3 = TableObject(n).entityProp3,
.entityProp4 = TableObject(n).entityProp4,
.entityProp5 = TableObject(n).entityProp5,
.entityProp6 = TableObject(n).entityProp6
}
listOfTableObjects.Add(tableObject)
Next n
//.TableObjects being the DbSet from the ...Context.vb file
context.TableObjects.AddRange(listOfTableObjects)
context.SaveChanges()