A linq enabled document database for .NET
Switch branches/tags
Clone or download
Pull request Compare This branch is 2 commits ahead, 656 commits behind ravendb:v4.0.
Failed to load latest commit information.
ToMigrate RavenDB-8809 : no need to migrate JsonCodeGeneratorTests Oct 30, 2017
bench RavenDB-11289 updated to .NET Core 2.1 Jun 11, 2018
docker RavenDB-11320 align naming with 4.1 branch Jun 14, 2018
docs RavenDB-10467 Setup instructions URL is wrong Feb 15, 2018
libs RavenDB-10981 : use updated nuget package instead of custom dll Apr 23, 2018
scripts RavenDB-11320 align naming with 4.1 branch Jun 14, 2018
src RavenDB-10923 Recover the transactions from the journal file on reocvery Jun 14, 2018
test Merge branch 'v4.0' into RavenDB-11364-4.0 Jun 14, 2018
tools RavenDB-7070 updated packages Jun 11, 2018
.editorconfig RavenDB-7070 Apr 16, 2018
.gitattributes RavenDB-6243 delete ravendbd temporarily to readd it later Feb 7, 2017
.gitignore RavenDB-10587 commit package-lock.json Feb 21, 2018
CONTRIBUTING.md RavenDB-11270 update readme; add contributing.md Jun 11, 2018
LICENSE RavenDB-10097 updated EULA May 8, 2018
NuGet.Config RavenDB-11289 updated to .NET Core 2.1 Jun 11, 2018
RavenDB.ruleset RavenDB-7070 CancellationToken should be last argument (server-side) Dec 20, 2017
RavenDB.sln RavenDB-10634 removed Raven.Traffic May 9, 2018
RavenDB.sln.DotSettings RavenDB-6572 removed TestIndex feature via #FEATURE_TEST_INDEX Nov 26, 2017
RavenDB.snk RavenDB-9041 signing DLLs Dec 12, 2017
build.ps1 RavenDB-10363 build script seem not to clean src/Rave/Server/bin and … Mar 15, 2018
build.sh RavenDB-9435 updated install_build_prerequisites.sh Dec 12, 2017
git_setup.cmd RavenDB-4343 migrated git pre-commit hook Feb 11, 2016
git_setup.sh pre-commit sh 2 bash Apr 21, 2016
install_build_prerequisites.sh RavenDB-7070 updated to .NET Core 2.0.7 Apr 19, 2018
install_runtime_prerequisites.sh RavenDB-9435 updated install_build_prerequisites.sh Dec 12, 2017
readme.md RavenDB-11270 update readme; add contributing.md Jun 11, 2018
testInLoop.sh Fix Tests: Subscription Dec 25, 2016
upload.ps1 RavenDB-9540 Prepare build scripts for RTM - upload scripts Dec 15, 2017


RavenDB - An ACID NoSQL Document Database

This repository contains source code for the RavenDB document database. With a RavenDB database you can set up a NoSQL data architecture or add a NoSQL layer to your current relational database.

RavenDB Studio

Supported Platforms

  • Windows
  • Linux
  • Docker
  • MacOS
  • Raspberry Pi

Grab Your License and Download Latest Version

Request your license.

Download the latest version of RavenDB.

Getting Started

Install and set up your database.

Learn RavenDB Quickly

RavenDB Bootcamp is a free, self-directed learning course. In just three units you will learn how to use RavenDB to create fully-functional, real-world programs with NoSQL Databases. If you are unfamiliar with NoSQL, it’s okay. We will provide you with all the information you need.

Stay Updated on New Developments

We keep adding new features to improve your RavenDB experience. Check out our latest improvements, updated weekly.


Access full documentation for RavenDB. Like our database, it is easy to use.

Where to Ask for Help

If you have any questions, or need further assistance, you can contact us directly.

Report an Issue

You can create issues and track them at our YouTrack page.

RavenDB Developer Community Group

If you have any questions please visit our community group. The solutions for the most common challenges are available. You are welcome to join!

Pull requests

Please check out our contribution guidelines.

Setup & Run

First please review and set up prerequisites.

Launch RavenDB:

Running locally:


Registering as service in Windows using rvn utility available in the package Server directory:

<path\to\ravendb>\rvn.exe windows-service register --service-name RavenDB4

Hello World (.NET)

Server Side

  • Launch a RavenDB server instance as follows:
<path/to/ravendb>/Server/Raven.Server --ServerUrl=http://localhost:8080
  • Open a web browser and enter http://localhost:8080

  • Click on Databases in the menu on the left-hand side, and then create a new database named SampleDataDB

  • Click on Settings and then on Create Sample Data in the left menu. Now Click on Create

Client Side

mkdir HelloWorld
cd HelloWorld
dotnet new console
  • Add the RavenDB Client package:
dotnet add package RavenDB.Client --version 4.0.*
  • Replace the content of Program.cs with the following:
using System;
using Raven.Client.Documents;

namespace HelloWorld
    class Shippers
        public string Name;
        public string Phone;
    class Program
        static void Main(string[] args)
            using (var store = new DocumentStore
                Urls = new string[] {"http://localhost:8080"},
                Database = "SampleDataDB"

                using (var session = store.OpenSession())
                    var shipper = session.Load<Shippers>("shippers/1-A");
                    Console.WriteLine("Shipper #1 : " + shipper.Name + ", Phone: " + shipper.Phone);
  • Type:
dotnet restore
dotnet build
dotnet run
Enjoy :)