批次作業 (WCF 資料服務)
Open Data Protocol (OData) 支援以批次方式處理 OData 型服務的要求。 如需詳細資訊,請參閱 OData:批次處理 (英文)。 在 WCF Data Services 中,使用 DataServiceContext 的每個作業 (例如執行查詢或儲存變更) 都會產生單獨的要求,以傳送至資料服務。 若要保持作業集的邏輯範圍,您可以明確地定義作業批次。 這樣可確保在單一 HTTP 要求中,將批次當中的所有作業傳送至資料服務,讓伺服器能夠以分割方式處理作業,並且減少往返於資料服務的次數。
批次處理查詢作業
若要在單一批次中執行多個查詢,您必須將批次中的每個查詢建立為 DataServiceRequest 類別的個別執行個體。 當您利用這種方式建立查詢要求時,會將查詢本身定義為 URI,而且查詢會遵守定址資源的規則。 如需詳細資訊,請參閱存取資料服務資源 (WCF 資料服務)。 呼叫包含查詢要求物件的 ExecuteBatch 方法時,會將批次的查詢要求傳送至資料服務。 此方法會傳回 DataServiceResponse 物件,該物件是 QueryOperationResponse 物件集合,代表對批次中個別查詢的回應,其中每個物件均包含查詢傳回的物件集合或錯誤訊息。 批次中的任何單一查詢失敗時,該作業的 QueryOperationResponse 物件中就會傳回與失敗作業相關的錯誤訊息,並且繼續執行其餘作業。 如需詳細資訊,請參閱 HOW TO:在批次中執行查詢 (WCF Data Services)。
您也可以透過非同步方式執行批次查詢。 如需詳細資訊,請參閱非同步作業 (WCF 資料服務)。
批次處理 SaveChanges 作業
當您呼叫 SaveChanges 方法時,會將內容追蹤的所有變更轉譯成以 REST 為基礎的作業,並以要求的形式傳送至 OData 服務。 根據預設,這些變更不會在單一要求訊息中傳送。 若要在單一要求中傳送所有變更,您必須呼叫 SaveChanges 方法,並在您提供給該方法的 SaveChangesOptions 列舉中包含 Batch 的值。
您也可以透過非同步的方式儲存批次變更。 如需詳細資訊,請參閱非同步作業 (WCF 資料服務)。