62,242
社区成员




...
Dim _item As InfoItem
Using db As New DBEntities
Dim id As Guid = Guid.Parse(Request.QueryString("id"))
_item = db.Info.First(Function(item) item.ID = id)
End Using
...
Save(_item)
...
Public Sub Save(item As InfoItem)
Using db As New DBEntities
_item.Title = "New Title"
db.Info.AddObject(_item)'执行到这一句时出错
db.SaveChanges()
End Using
End Sub
Public Sub Save(item As InfoItem)
Using db As New DBEntities
If _item.ID = GUID.Empty Then 'ID为空则为新对象
_item.ID = Guid.NewGUID
db.Info.AddObject(_item)'添加对象
Else
db.Info.Attach(_item)'附加对象
db.ObjectStateManager.ChangeObjectState(_item, EntityState.Modified)'将对象状态设置为“已更改”(没有这一句就不会保存,因为 Attach 方法会将状态设置为 EntityState.Unchanged 即没有变动,当然就不会保存)
End If
db.SaveChanges()
End Using
End Sub