我對EDM相當陌生,因此請耐心等待。我有一個窗體,其上有一個DataGridView,它與我創建的EDM綁定。我想出瞭如何更新我的更改,但是當用戶創建一個新的行時,我遇到了問題。實體數據模型&DataGridView - 創建新對象
我嘗試了很多方法和許多谷歌搜索,但到目前爲止沒有提到任何東西。
這裏的數據是如何加載:
Dim boilerID As Integer = DirectCast(ddlBoiler.SelectedValue, Integer)
Dim countryID As Integer = DirectCast(ddlCountry.SelectedValue, Integer)
Dim ratings = From r In _Context.Rating _
Where r.Boiler.Boiler_ID = boilerID _
And r.Country.Country_ID = countryID _
Order By r.Sequence _
Select r
RatingBindingSource.DataSource = ratings.ToList()
此外,所有我做的,現在保存的信息是:
Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
_Context.SaveChanges()
End Sub
我希望用戶能夠使用網格的「新行」功能將新項目添加到數據庫,而不必單擊按鈕並打開一個新對話框。這將如何完成?
我可以包括一些我嘗試添加新項目的方法,如果有人需要查看。
謝謝!
更新:這是我嘗試了添加新對象和錯誤的方法,我收到一個:
For Each dgvr As DataGridViewRow In dgvRatings.Rows
If dgvr.DataBoundItem IsNot Nothing AndAlso CType(dgvr.DataBoundItem, Rating).Rating_ID <= 0 Then
Dim r As Rating = dgvr.DataBoundItem
r.Boiler = ddlBoiler.SelectedItem
r.Country = ddlCountry.SelectedItem
_Context.AddObject("Rating", r)
End If
Next
錯誤(調用_Context.SaveChanges時出現()):存儲更新,插入或刪除語句影響了意外的行數(0)。自實體加載後,實體可能已被修改或刪除。刷新ObjectStateManager條目。
謝謝你的迴應。我嘗試了類似的東西。查看我的更新,獲取我收到的錯誤。 – VinPepe 2010-03-30 19:17:47