Private WorkOrderServicesController As New WorkOrderServicesController
Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim _WorkOrderServices As New WorkOrderServices
_WorkOrderServices.Quantity = 1
_WorkOrderServices.ServiceID = 1
_WorkOrderServices.UnitCost = 10
_WorkOrderServices.CreatedBy = StateManager.UserID
_WorkOrderServices.CreatedDate = Now
lstWorkOrderServices.Add(_WorkOrderServices)
grdServices_Fill()
End Sub
Protected Sub grdServices_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grdServices.RowCommand
If (e.CommandName.Equals("Delete")) Then
Dim ServiceID = e.CommandArgument
Dim _WorkOrderService = lstWorkOrderServices.Where(Function(os) os.ServiceID = ServiceID).SingleOrDefault
If Not _WorkOrderService Is Nothing Then
If _WorkOrderService.iWOServicesID > 0 Then
With _WorkOrderService
.Deleted = True
.DeletedBy = StateManager.UserID
.DeletedDate = Now
End With
WorkOrderServicesController.UpdateWorkOrderService(_WorkOrderService)
Else
lstWorkOrderServices.Remove(_WorkOrderService)
End If
End If
End If
End Sub
一旦我通過EntityObject通過用戶界面來DAL和嘗試更新實體,面帶錯誤 ** ** MyDAL.DLL一個實體對象不能被IEntityChangeTracker的多個實例引用?
Public Class WorkOrderServicesDAL
Private _context As LAITEntities
Public Sub New()
_context = New LAITEntities
End Sub
Function UpdateWorkOrderService(ByVal vWorkOrderService As WorkOrderServices) As Boolean
Try
'An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
_context.WorkOrderServices.Attach(vWorkOrderService)
_context.ObjectStateManager.ChangeObjectState(vWorkOrderService, EntityState.Modified)
_context.SaveChanges()
Return True
Catch ex As Exception
Return False
End Try
End Function
End Class
「實體對象不能由多個實例引用」
可能重複[如何擺脫「一個實體對象不能被IEntityChangeTracker的多個實例引用」?](http://stackoverflow.com/questions/620084/how-to-get-rid-off-一個實體對象不能被多個實例引用-O) –