public async Task Let() { var q = from p in Arango.Query <Project>("test") let clients = (from c in Arango.Query <Client>() select c.Key) select new { p.Name, Clients = Aql.As <string[]>(clients) }; _output.WriteLine(q.ToAql().aql); _output.WriteLine(""); _output.WriteLine(JsonConvert.SerializeObject(await q.ToListAsync(), Formatting.Indented)); }
public async Task Update() { var q = Arango.Query <Project>("test") .Where(x => x.Name == "Project A") .Update(x => new { x.Key, Name = Aql.Concat(x.Name, "2") }, x => x.Key); _output.WriteLine(q.ToAql().aql); _output.WriteLine(""); _output.WriteLine(JsonConvert.SerializeObject(await q.ToListAsync(), Formatting.Indented)); }
public async Task SelectDocument() { var q = Arango.Query <Project>("test") .Where(x => x.Name == "Project A") .Select(x => new { x.Key, x.Name, ClientName = Aql.Document <Client>("Client", x.ClientKey).Name }); _output.WriteLine(q.ToAql().aql); _output.WriteLine(""); _output.WriteLine(JsonConvert.SerializeObject(await q.ToListAsync(), Formatting.Indented)); }
public async Task ListContains() { var list = new List <string> { "CA", "CB" }.ToArray(); //var q = Arango.Query<Project>("test") // .Where(x => list.Contains(x.ClientKey)); var q = Arango.Query <Project>("test") .Where(x => Aql.Position(list, x.ClientKey)); _output.WriteLine(q.ToAql().aql); _output.WriteLine(""); _output.WriteLine(JsonConvert.SerializeObject(await q.ToListAsync(), Formatting.Indented)); }