示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }