Пример #1
0
        Dictionary <string, Person> Test2Init()
        {
            Console.WriteLine("Generating stuff...");

            var r      = new Random();
            var result = new Dictionary <string, Person>();

            using (var db = new MyDbInstance("test.db.3"))
            {
                db.Purge();

                var people = db.Table <Person>();

                for (var i = 0; i < t2Count; i++)
                {
                    var p = new Person {
                        Id = "T" + i, FirstName = "A" + r.Next(1000), LastName = "B" + r.Next(1000)
                    };
                    result.Add(p.Id, p);
                }

                people.Save(result.Values);
            }

            return(result);
        }
    public void Test3()
    {
      using (var db = new MyDbInstance("test.db.4"))
      {
        db.Purge();

        var people = db.Table<Person>();

        people.Save(new[] { new Person { Id = "A" }, new Person { Id = "B" }});

        people.DeleteByKey("A");

        people.Save(new Person { Id = "A" });
      }
    }
Пример #3
0
        public void Test()
        {
            using (var db = new MyDbInstance("test.db.2"))
            {
                // Upsert / Merge
                db.Save(new Person {
                    Id = "ll", FirstName = "Lex", LastName = "Lavnikov"
                },
                        new Person {
                    Id = "jd", FirstName = "John", LastName = "Doe"
                },
                        new Person {
                    Id = "sgu", FirstName = "Scott", LastName = "Guthrie"
                },
                        new Person {
                    Id = "jp", FirstName = "John", LastName = "Papa"
                });

                {
                    // Query all
                    var allPersons = db.Persons.LoadAll();
                    WriteToConsole("All persons", allPersons);
                }

                {
                    // Query by primary index
                    var person = db.Persons.LoadByKey("ll");
                    WriteToConsole("By primary key 'll'", person);
                }

                {
                    // Query by secondary index (calculated field)
                    var persons = db.Persons.IndexQueryByKey("FullName", "Lex Lavnikov").ToList();
                    WriteToConsole("By secondary key 'Lex Lavnikov'", persons);
                }

                {
                    // Query by secondary index (normal field)
                    var persons = db.Persons.IndexQueryByKey("LastName", "Papa").ToList();
                    WriteToConsole("By secondary key 'Papa'", persons);
                }

                // Query count
                Console.WriteLine("Count: {0}", db.Persons.Count());
            }
        }
Пример #4
0
        public void Test3()
        {
            using (var db = new MyDbInstance("test.db.4"))
            {
                db.Purge();

                var people = db.Table <Person>();

                people.Save(new[] { new Person {
                                        Id = "A"
                                    }, new Person {
                                        Id = "B"
                                    } });

                people.DeleteByKey("A");

                people.Save(new Person {
                    Id = "A"
                });
            }
        }
Пример #5
0
    public void Test()
    {
      using (var db = new MyDbInstance("test.db.2"))
      {
        // Upsert / Merge
        db.Save(new Person { Id = "ll", FirstName = "Lex", LastName = "Lavnikov" },
                new Person { Id = "jd", FirstName = "John", LastName = "Doe" },
                new Person { Id = "sgu", FirstName = "Scott", LastName = "Guthrie" },
                new Person { Id = "jp", FirstName = "John", LastName = "Papa" });

        {
          // Query all
          var allPersons = db.Persons.LoadAll();
          WriteToConsole("All persons", allPersons);
        }

        {
          // Query by primary index
          var person = db.Persons.LoadByKey("ll");
          WriteToConsole("By primary key 'll'", person);
        }

        {
          // Query by secondary index (calculated field)
          var persons = db.Persons.LoadAll("FullName", "Lex Lavnikov");
          WriteToConsole("By secondary key 'Lex Lavnikov'", persons);
        }

        {
          // Query by secondary index (normal field)
          var persons = db.Persons.LoadAll("LastName", "Papa");
          WriteToConsole("By secondary key 'Papa'", persons);
        }

        // Query count
        Console.WriteLine("Count: {0}", db.Persons.Count());
      }
    }
    Dictionary<string, Person> Test2Init()
    {
      Console.WriteLine("Generating stuff...");

      var r = new Random();
      var result = new Dictionary<string, Person>();

      using (var db = new MyDbInstance("test.db.3"))
      {
        db.Purge();

        var people = db.Table<Person>();

        for (var i = 0; i < t2Count; i++)
        {
          var p = new Person { Id = "T" + i, FirstName = "A" + r.Next(1000), LastName = "B" + r.Next(1000) };
          result.Add(p.Id, p);
        }

        people.Save(result.Values);
      }

      return result;
    }
Пример #7
0
        void Test2Modify(Dictionary <string, Person> dic)
        {
            Console.WriteLine("Deleting stuff...");
            Person p;

            var r = new Random();

            using (var db = new MyDbInstance("test.db.3"))
            {
                var people = db.Table <Person>();
                var keys   = new List <string>();

                for (var i = 0; i < 1000; i++)
                {
                    var x = "T" + r.Next(t2Count);

                    if (dic.TryGetValue(x, out p))
                    {
                        keys.Add(p.Id);
                        dic.Remove(p.Id);
                    }
                }
                people.DeleteByKeys(keys);
            }

            Console.WriteLine("Modifying stuff...");

            using (var db = new MyDbInstance("test.db.3"))
            {
                var people  = db.Table <Person>();
                var updates = new List <Person>();

                for (var i = 0; i < 1000; i++)
                {
                    var x = "T" + r.Next(t2Count);

                    if (dic.TryGetValue(x, out p))
                    {
                        p.FirstName = "A" + r.Next(1000);
                        p.LastName  = "B" + r.Next(1000);

                        updates.Add(p);
                    }
                }
                people.Save(updates);
            }

            Console.WriteLine("Comparing stuff...");

            using (var db = new MyDbInstance("test.db.3"))
            {
                var people    = db.Table <Person>().LoadAll().OrderBy(i => i.Id).ToArray();
                var dicPeople = dic.Values.OrderBy(i => i.Id).ToArray();

                if (!people.Select(i => i.Id).SequenceEqual(dicPeople.Select(i => i.Id)))
                {
                    throw new InvalidOperationException("Id mismatch");
                }

                if (!people.Select(i => i.FirstName).SequenceEqual(dicPeople.Select(i => i.FirstName)))
                {
                    throw new InvalidOperationException("FirstName mismatch");
                }

                if (!people.Select(i => i.LastName).SequenceEqual(dicPeople.Select(i => i.LastName)))
                {
                    throw new InvalidOperationException("LastName mismatch");
                }
            }
        }
    void Test2Modify(Dictionary<string, Person> dic)
    {
      Console.WriteLine("Deleting stuff...");
      Person p;

      var r = new Random();

      using (var db = new MyDbInstance("test.db.3"))
      {
        var people = db.Table<Person>();
        var keys = new List<string>();

        for (var i = 0; i < 1000; i++)
        {
          var x = "T" + r.Next(t2Count);

          if (dic.TryGetValue(x, out p))
          {
            keys.Add(p.Id);
            dic.Remove(p.Id);
          }
        }
        people.DeleteByKeys(keys);
      }

      Console.WriteLine("Modifying stuff...");

      using (var db = new MyDbInstance("test.db.3"))
      {
        var people = db.Table<Person>();
        var updates = new List<Person>();

        for (var i = 0; i < 1000; i++)
        {
          var x = "T" + r.Next(t2Count);

          if (dic.TryGetValue(x, out p))
          {
            p.FirstName = "A" + r.Next(1000);
            p.LastName = "B" + r.Next(1000);

            updates.Add(p);
          }
        }
        people.Save(updates);
      }

      Console.WriteLine("Comparing stuff...");

      using (var db = new MyDbInstance("test.db.3"))
      {
        var people = db.Table<Person>().LoadAll().OrderBy(i => i.Id).ToArray();
        var dicPeople = dic.Values.OrderBy(i => i.Id).ToArray();

        if (!people.Select(i => i.Id).SequenceEqual(dicPeople.Select(i => i.Id)))
          throw new InvalidOperationException("Id mismatch");

        if (!people.Select(i => i.FirstName).SequenceEqual(dicPeople.Select(i => i.FirstName)))
          throw new InvalidOperationException("FirstName mismatch");

        if (!people.Select(i => i.LastName).SequenceEqual(dicPeople.Select(i => i.LastName)))
          throw new InvalidOperationException("LastName mismatch");
      }
    }