You are currently browsing legacy 4.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Session: Opening a Session

To open synchronous session use the OpenSession method from DocumentStore or OpenAsyncSession if you prefer working in an asynchronous manner.

Syntax

There are three overloads of OpenSession / OpenAsyncSession methods

// Open session for a 'default' database configured in 'DocumentStore'
IDocumentSession OpenSession();

// Open session for a specified database
IDocumentSession OpenSession(string database);

IDocumentSession OpenSession(SessionOptions options);
// Open session for a 'default' database configured in 'DocumentStore'
IAsyncDocumentSession OpenAsyncSession();

// Open session for a specified database
IAsyncDocumentSession OpenAsyncSession(string database);

IAsyncDocumentSession OpenAsyncSession(SessionOptions options);

The first method is an equivalent of doing

store.OpenSession(new SessionOptions());
store.OpenAsyncSession(new SessionOptions());

The second method is an equivalent of doing

store.OpenSession(new SessionOptions
{
    Database = databaseName
});
store.OpenAsyncSession(new SessionOptions
{
    Database = databaseName
});

Parameters
options OpenSessionOptions Options containing information such as name of database and RequestExecutor.
Return Value
IDocumentSession / IAsyncDocumentSession Instance of a session object.

Example

using (IDocumentSession session = store.OpenSession())
{
    // code here
}
using (IAsyncDocumentSession session = store.OpenAsyncSession())
{
    // async code here
}

Important

Always remember to release session allocated resources after usage by invoking the Dispose method or wrapping the session object in the using statement.