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");