Table of Contents

Code Samples


Initialize connection

  var db = await DB.InitAsync("bookshop");

Persist an entity

  var book = new Book { Title = "The Power Of Now" };
  await db.SaveAsync(book);

Embed as document

  var dickens = new Author { Name = "Charles Dickens" };
  book.Author = dickens.ToDocument();
  await db.SaveAsync(book);

Update entity properties

  await db.Update<Book>()
          .Match(b => b.Title == "The Power Of Now")
          .Modify(b => b.Publisher, "New World Order")
          .Modify(b => b.ISBN, "SOMEISBNNUMBER")
          .ExecuteAsync();

One-To-One relationship

  var hemmingway = new Author { Name = "Ernest Hemmingway" };
  await db.SaveAsync(hemmingway);
  book.MainAuthor = hemmingway;
  await db.SaveAsync(book);

One-To-Many relationship

  var tolle = new Author { Name = "Eckhart Tolle" };
  await db.SaveAsync(tolle);
  await book.Authors.AddAsync(tolle, db);

Many-To-Many relationship

  var genre = new Genre { Name = "Self Help" };
  await db.SaveAsync(genre);
  await book.AllGenres.AddAsync(genre, db);
  await genre.AllBooks.AddAsync(book, db);

Queries

  var author = await db.Find<Author>().OneAsync("ID");

  var authors = await db.Find<Author>().ManyAsync(a => a.Publisher == "Harper Collins");

  var eckhart = await db.Queryable<Author>()
                        .Where(a => a.Name.Contains("Eckhart"))
                        .SingleOrDefaultAsync();

Delete

  await book.MainAuthor.DeleteAsync(db);
  await book.AllAuthors.DeleteAllAsync(db);
  await db.DeleteAsync(book);
  await db.DeleteAsync<Genre>("ID");
  await db.DeleteAsync<Book>(b => b.Title == "The Power Of Now");

Get Started Benchmarks

Tutorials


More Examples