Example #1
0
        public void test_CRUD_Speed()
        {
            var stopwatch = new Stopwatch();

            int iterations = 0;

            stopwatch.Start();

            using (var t = new TransactionScope()) {
                DataHelper.EnsureConnectionOpen(Dalc.Connection, () => {
                    while (iterations < 100)
                    {
                        iterations++;

                        var ds = new DataSet();
                        Dalc.Load(new Query("users", new QField("1") == new QConst(2)), ds);
                        var usersTbl = ds.Tables["users"];

                        usersTbl.PrimaryKey = new[] { usersTbl.Columns["id"] };
                        usersTbl.Columns["id"].AutoIncrement = true;

                        var r     = usersTbl.NewRow();
                        r["name"] = "TEST";
                        usersTbl.Rows.Add(r);

                        Dalc.Update(usersTbl);

                        r["name"] = "TEST1";
                        Dalc.Update(usersTbl);

                        r.Delete();
                        Dalc.Update(usersTbl);
                    }
                });
            }

            stopwatch.Stop();
            Console.WriteLine("Speedtest for SQLite CRUD datarow operations ({1} times): {0}", stopwatch.Elapsed, iterations);
        }