Code it Yourself…

A blog on Microsoft Azure and .NET by Carlos Mendible

Step by step: Couchbase Lite with .Net Core

Not long after writing Step by step: Couchbase with .Net Core I discovered Couchbase Lite, which is still in development, but it looks like a great solution for embedded NoSQL scenarios.

So let’s start with this simple: Step by step: Couchbase Lite with .Net Core tutorial.

1. Create a folder for your new project

Open a command prompt an run

mkdir couchbase.lite.console
cd couchbase.lite.console

2. Create a console project

dotnet new console

3. Add a nuget.config

Since Couchbase Lite is still in development you’ll need to add their development nuget server as Nuget source, so create a nuget.config file with the following contents.

<?xml version="1.0" encoding="utf-8"?>
    <add key="Couchbase.Developer" value="" />
  <disabledPackageSources />

4. Add a reference to the Couchbase Lite nuget package

Run the following command

dotnet add package couchbase.lite -v 2.0.0-db004
dotnet restore

5. Replace the contents of Program.cs

Replace the contents of the Program.cs file with the following code:

using System;
using System.Collections.Generic;
using System.IO;
using Couchbase.Lite;
using Couchbase.Lite.Query;

namespace couchbase.lite
    class Program
        static void Main(string[] args)
            // Get current directory to store the database.
            var dir = Directory.GetCurrentDirectory();

            // Delete the database so we can run the sample without issues.
            DatabaseFactory.DeleteDatabase("db", dir);

            // Create the default options.
            var options = DatabaseOptions.Default;
            options.Directory = dir;

            // Create the database
            var db = DatabaseFactory.Create("db", options);

            // Create a document the Id == "Polar Ice" an set properties. 
            var document = db.GetDocument("Polar Ice");
            document.Properties = new Dictionary<string, object>
                ["name"] = "Polar Ice",
                ["brewery_id"] = "Polar"

            // Save the document

            // Query for the document abd write results to the console.
            var query = QueryFactory.Select()

            var rows = query.Run();
            foreach (var row in rows)
                Console.WriteLine($"Fetched doc with id :: {row.DocumentID}");

6. Run the program

Run the program

dotnet run

The console should show the following message:

Fetched doc with id :: Polar Ice

Get the code here:

Hope it helps!