1

2つのテーブルがあります。1つはsessionIDという列でVirtualMachineを呼び出し、 Id (null可能)という主キーを持つセッション を呼び出す2番目のテーブルへの外部キーです。int

linqを使用して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