Example #1
0
        public void AddsDocument()
        {
            var newCustomer = new CustomerDocument {
                Email = "*****@*****.**", First = "Rob", Last = "Conery"
            };

            docs.Add(newCustomer);
            Assert.Equal(1, docs.Count);
        }
Example #2
0
        public void CreatesSerialPK()
        {
            var actors   = new PGDocumentList <Actor>("northwindPG");
            var newActor = new Actor {
                First_Name = "Joe", Last_Name = "Blow"
            };

            actors.Add(newActor);
            Assert.True(newActor.Actor_ID > 0);
        }
Example #3
0
        public void CreatesSerialPK()
        {
            var actors   = new PGDocumentList <Actor>("northwindPG");
            var newActor = new Actor {
                First_Name = "Joe", Last_Name = "Blow"
            };

            actors.Add(newActor);
            int newId = newActor.Actor_ID;

            actors.Reload();
            Assert.True(actors.Any(a => a.Actor_ID == newId));
        }
Example #4
0
        public static void Run()
        {
            Console.WriteLine("===========================================================");
              Console.WriteLine("POSTGRES - LOAD A BUNCH OF DOCUMENTS INTO A TABLE");
              Console.WriteLine("===========================================================");

              Console.WriteLine("Connecting to Postgres Document Store...");

              // Start clean and fresh . . .
              if (Benchmarks.TableExists("clientdocuments"))
              {
            Benchmarks.DropTable("clientdocuments");
              }

              var _clientDocuments = new PGDocumentList<ClientDocument>(_connectionStringName);
              _clientDocuments.Clear();
              var sw = new Stopwatch();

              var addRange = new List<ClientDocument>();
              for (int i = 0; i < 10000; i++)
              {
            addRange.Add(new ClientDocument
            {
              LastName = "Conery " + i,
              FirstName = "Rob",
              Email = "*****@*****.**"
            });
              }
              sw.Start();
              var inserted = _clientDocuments.AddRange(addRange);
              sw.Stop();
              Console.WriteLine("\t Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);

              // Start clean and fresh again . . .
              _clientDocuments.Clear();
              addRange.Clear();
              Benchmarks.DropTable("clientdocuments");
              _clientDocuments = new PGDocumentList<ClientDocument>(_connectionStringName);
              sw.Reset();

              Console.WriteLine("Loading 100,000 documents");
              for (int i = 0; i < 100000; i++)
              {
            addRange.Add(new ClientDocument
            {
              LastName = "Conery " + i,
              FirstName = "Rob",
              Email = "*****@*****.**"
            });
              }
              sw.Start();
              inserted = _clientDocuments.AddRange(addRange);
              sw.Stop();
              Console.WriteLine("\t Just inserted {0} as documents in {1} ms", inserted, sw.ElapsedMilliseconds);

              //use a DB that has an int PK
              sw.Reset();
              Console.WriteLine("Loading {0}...", inserted);
              sw.Start();
              _clientDocuments.Reload();
              sw.Stop();
              Console.WriteLine("\t Loaded {0} documents from Postgres in {1} ms", inserted, sw.ElapsedMilliseconds);

              sw.Reset();
              Console.WriteLine("Querying Middle 100 Documents");
              sw.Start();
              var found = _clientDocuments.Where(x => x.ClientDocumentId > 100 && x.ClientDocumentId < 500);
              sw.Stop();
              Console.WriteLine("\t Queried {0} documents in {1}ms", found.Count(), sw.ElapsedMilliseconds);

              sw.Reset();
              Console.WriteLine("Adds Items in a loop, follows by Bulk Insert");
              if (TableExists("items")) {
            DropTable("items");
              }
              sw.Start();
              var list = new List<Item>();
              for (int i = 1; i < 6; i++) {
            list.Add(new Item() {
              Name = "Item no " + i
            });
              }
              var items = new PGDocumentList<Item>("chinookPG");
              // 1. Add items in a loop
              foreach (var item in list) {
            items.Add(item);
              }
              // 2. Add items using AddRange...
              items.AddRange(list);
              sw.Stop();
              Console.WriteLine("\t Added {0} items in a loop, then added same items as bullk insert in {1}", list.Count(), sw.ElapsedMilliseconds);
        }