Client API: How to Use Low-Level Commands
Low-level commands are the mechanism that Operations are built on top of.
When performing an operation, there is an underlying low-level command that is in charge of sending the appropriate request to the server
(via the Request Executor) and parsing the server reply.
In order to use low-level commands directly, you will need to use the Execute
or ExectueAsync
method of a Request Executor.
void Execute<TResult>(RavenCommand<TResult> command, JsonOperationContext context, SessionInfo sessionInfo = null)
Task ExecuteAsync<TResult>(RavenCommand<TResult> command, JsonOperationContext context, SessionInfo sessionInfo = null, CancellationToken token = default(CancellationToken))
Examples
GetDocumentsCommand
using (var session = documentStore.OpenSession())
{
var command = new GetDocumentsCommand("orders/1-A", null, false);
session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context);
var order = (BlittableJsonReaderObject)command.Result.Results[0];
}
using (var session = documentStore.OpenAsyncSession())
{
var command = new GetDocumentsCommand("orders/1-A", null, false);
await session.Advanced.RequestExecutor.ExecuteAsync(command, session.Advanced.Context);
var order = (BlittableJsonReaderObject)command.Result.Results[0];
}
DeleteDocumentCommand
using (var session = documentStore.OpenSession())
{
var command = new DeleteDocumentCommand("employees/1-A", null);
session.Advanced.RequestExecutor.Execute(command, session.Advanced.Context);
}
using (var session = documentStore.OpenAsyncSession())
{
var command = new DeleteDocumentCommand("employees/1-A", null);
await session.Advanced.RequestExecutor.ExecuteAsync(command, session.Advanced.Context);
}
The Following Low-Level Commands are Available:
- BatchCommand
- CreateSubscriptionCommand
- DeleteDocumentCommand
- DeleteSubscriptionCommand
- DropSubscriptionConnectionCommand
- ExplainQueryCommand
- GetConflictsCommand
- GetDocumentsCommand
- GetIdentitiesCommand
- GetNextOperationIdCommand
- GetOperationStateCommand
- GetRevisionsBinEntryCommand
- GetRevisionsCommand
- GetStatisticsCommand
- GetSubscriptionsCommand
- GetSubscriptionStateCommand
- HeadAttachmentCommand
- HeadDocumentCommand
- HiLoReturnCommand
- KillOperationCommand
- NextHiLoCommand
- NextIdentityForCommand
- PatchCommand
- PutDocumentCommand
- QueryCommand
- QueryStreamCommand
- SeedIdentityForCommand
- StartBackupCommand
- StreamCommand