2013-12-10 2 views
2

C#에서 웹 서비스를 작성할 때 개체를 만든 다음이를 직렬화하여 클라이언트에 보냅니다. 내가 2 개 테이블Azure 모바일 서비스에서 여러 테이블 병합

  1. 푸른 모바일 서비스에 유사한 일을하고 싶어 OrderHead

  2. OrderRow

Orderhead는 주문 정보 (totalprice, CustomerID를, 등을 만든 날짜)가 OrderHead 테이블의 레코드 하나는 OrderRow에 여러 항목을 가질 수 있습니다. 주문 표에는 주문한 품목 (itemid, itemname, price 등)에 대한 세부 정보가 있습니다.

사용자 정의 API에서 어떻게 하나의 응답을 얻을 수 있습니까? 아래 내용과 비슷합니다

{ 
    "orderheadid": "3424232", 
    "totalprice": 423423, 
    "orderrow": [ 
     { 
      "itemid": "32423", 
      "itemprice": 2 
     }, 
     { 
      "itemid": "23", 
      "itemprice": 333 
     }, 
     { 
      "itemid": "223", 
      "itemprice": 4 
     } 
    ] 
} 

아니면 클라이언트 사이트와 별도로 각 서비스를 호출해야합니까?

mssql 개체를 사용하여 INNER JOIN 쿼리를 수행 할 수 있지만 위와 같이 구조화 된 JSON 개체를 반환하지 않습니다. 누군가 제발 가르쳐 주실 수 있습니까? 사전

답변

0
  1. 에 시간

    감사는 표 2에서 값을 검색하고 위에서 만든 변수에 새로운 속성으로 추가 표 1의 값을 검색하고 변수

  2. 에 할당합니다.

    var orderHead; 
    var orderRow; 
    var orderRowTable = table.getTable('orderhead'); 
    orderHeadTable.where({ 
    //any other query details 
        customerid:request.user.userId 
        }).read({ 
         success:function(result){ 
          console.log(result.length); 
          if(result.length===0){ 
           response.send(400, { message : 'Cart empty' }); 
          }else{ 
           orderHead = result[0]; 
           getOrderRows() 
          } 
         }, 
         error:function(){ 
          response.send(400, { message : 'error while reading order information' }); 
         } 
        }); 
    
    function getOrderRows(){ 
        var orderRowTable = table.getTable('orderrow'); 
        orderRowTable.where({ 
         orderheadid:orderHead.id 
        }).read({ 
         success:function(result){ 
          if(result && result.length===0){ 
           response.send(400, { message : 'Cart empty' }); 
          }else{ 
           orderRows = result; 
           orderHead.orderRows = orderRows; 
           response.send(200, orderHead);   
          } 
         }, 
         error:function(){ 
          response.send(400, { message : 'error while reading order information - row' }); 
         } 
        }); 
    } 
    
    을 할 것입니다 아래와 같이

뭔가

관련 문제