2015-01-25 4 views
0

나는 다음과 같은 코드를 사용하여 .NET 클라이언트와 윈도우 Azure 모바일 서비스 데이터베이스의 행을 업데이트하기 위해 노력하고있어이 작동하지 않음 내가 추가 한 키, 필요한 GUID와 다른 키. 문제는 업데이트가 진행되지 않는다는 것입니다. 참고 사항 :UpdateAsync는 푸른 모바일 서비스

  • 디버깅 할 때 검색 부분이 잘 작동합니다. 로컬에서는 TITLE 특성이 "새 제목"으로 올바르게 설정되지만 UpdateAsync 명령이 실행되면 'myItem'인스턴스 위로 마우스를 가져 가면 TITLE 특성이 원래 값으로 되돌아 갔음을 알 수 있습니다.
  • 코드를 테스트 할 때 guid가 손상되어 그 guid가있는 테이블에 레코드가 없기 때문에 UpdateAsync가 예상대로 실패했습니다.
  • 저는이 코드가 이전에 작동하고 있었음을 확신합니다. 지금은 그렇지 않습니다.

지금은 DeleteAsync 명령을 실행 한 다음 InsertAsync를 실행하고 트릭을 수행합니다. 하지만 UpdateAsync 명령이 나를 위해 작동하지 않는 이유와 그것이 실행될 때 원본 데이터로 'myItem'인스턴스를 새로 고치는 이유에 대해 당황 스럽습니다.

+0

당신이 JS를 사용하는 경우 백엔드, 서버 측에서 업데이트 작업을위한 스크립트가 있습니까? .NET 백엔드를 사용하는 경우 컨트롤러에 PatchTodoItem 작업의 정의를 게시 할 수 있습니까? – carlosfigueira

+0

.NET 백엔드입니다. 나는이 코드의 대부분을 건드리지 않았다. 표준 ToDoItem 예제를 사용했다. 다음은 PatchToDoItem 작업입니다. 'public 작업 PatchTodoItem (문자열 ID, 델타 패치) { return UpdateAsync (id, patch); } – kernanb

+0

로컬로 실행하거나 서버 탐색기에서 서비스를 선택하여 실행중인 인스턴스에 디버거를 연결하여 .NET 백엔드 디버깅을 시도하십시오. 올바른 값이 백엔드로 전송됩니까? 또한 Fiddler와 같은 도구를 사용하여 전송되는 HTTP 요청을 확인하는 것이 좋습니다. –

답변

0
전혀

확실하지 않지만 경우에 필사적 인 시도가 변경 : (의견 없음 명성)

List<TodoItem> myItemsList = await todoTable.Where(todoItem => todoItem.XID == 1).ToListAsync(); TodoItem myItem = myItemsList.First();

에 :

TodoItem myItem = todoTable.Where(todoItem => todoItem.XID == 1).FirstOrDefault();

+0

나는 그것을 시도했다 - 작동하지 않았다. 또한 'FirstOrDefault()'는'myItemsList.FirstOrDefault()'처럼 적용되어야합니다. 그것은 당신이 그것을 가진 것처럼 적용될 수 없습니다. 그래도 고마워. – kernanb

+0

여기 내 요점은 데이터를 나열하고 쿼리 가능으로 남겨 두지 않는 것입니다. ToListAsync()를 우회하려고 시도하십시오. – Nikatlas

관련 문제