1

我们有拖车桌。一个调用VirtualMachine,其列名为sessionID ,它是第二个调用session的表的外键,主键名为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.

    }
}
4

0 回答 0