UPDATE操作 - 由于对象的当前状态(VS2010和Linq),操作无效

时间:2012-04-15 08:06:05

标签: c# linq-to-sql null

我们有两张桌子。使用名为 sessionID 的列调用 VirtualMachine ,将其作为第二个调用具有主键的会话的表的外键名为 Id (null-able int)。

我们使用 linq to sql ,当我们尝试将VirtualMachine.sessionID更新为null时,我们收到以下错误

  

“由于对象的当前状态”,“操作无效”

我们的代码:

List<VirtualMachine> currentVms = _context.getAllVMs();
foreach (VirtualMachine vm in currentVms)
{
    if (vm.sessionID != null)
    {
        //if no  change the session status 
        Session ChangeStatus = _context.getSessionByID((int)vm.sessionID);

        ChangeStatus.status = (int)sessionStatus.closed;
        _context.updateSesion(ChangeStatus);
        string SessionKey = vm.Session.sessionNumber;

        // change the session id to null
          VirtualMachine toUpdate = new VirtualMachine();
          toUpdate.ID = vm.ID;
          toUpdate.IP = vm.IP;
          toUpdate.sessionID = null;
          _context.updateVM(toUpdate);///here we get the exception.

    }
}

0 个答案:

没有答案