Exemplo n.º 1
0
        public void IndexingDetails()
        {
            var db = new DbInstance(@"My Database\Indexing2");

            db.Map <MyData>().Automap(i => i.Id, true).WithIndex("Test", i => i.IntField);
            db.Initialize();

            var table = db.Table <MyData>();

            table.Purge();

            db.BulkWrite(() =>
            {
                table.Save(new MyData {
                    IntField = 1
                });
                table.Save(new MyData {
                    IntField = 1
                });
                table.Save(new MyData {
                    IntField = 1
                });
                table.Save(new MyData {
                    IntField = 1
                });
                table.Save(new MyData {
                    IntField = 1
                });
                table.Save(new MyData {
                    IntField = 4
                });
                table.Save(new MyData {
                    IntField = 4
                });
                table.Save(new MyData {
                    IntField = 4
                });
                table.Save(new MyData {
                    IntField = 4
                });
                table.Save(new MyData {
                    IntField = 4
                });
                table.Save(new MyData {
                    IntField = 3
                });
                table.Save(new MyData {
                    IntField = 3
                });
                table.Save(new MyData {
                    IntField = 3
                });
                table.Save(new MyData {
                    IntField = 3
                });
                table.Save(new MyData {
                    IntField = 3
                });
                table.Save(new MyData {
                    IntField = 4
                });
                table.Save(new MyData {
                    IntField = 5
                });
                table.Save(new MyData {
                    IntField = 6
                });
                table.Save(new MyData {
                    IntField = 6
                });
                table.Save(new MyData {
                    IntField = 6
                });
                table.Save(new MyData {
                    IntField = 6
                });
                table.Save(new MyData {
                    IntField = 6
                });
                table.Save(new MyData {
                    IntField = 6
                });
                table.Save(new MyData {
                    IntField = 7
                });
                table.Save(new MyData {
                    IntField = 8
                });
                table.Save(new MyData {
                    IntField = 8
                });
                table.Save(new MyData {
                    IntField = 8
                });
                table.Save(new MyData {
                    IntField = 8
                });
                table.Save(new MyData {
                    IntField = 8
                });
                table.Save(new MyData {
                    IntField = 9
                });
            });

            var list1 = table.LoadAll();

            var index = table.IndexQuery <int>("Test");

            Assert.AreEqual(index.Key(1).Count(), list1.Count(i => i.IntField == 1));
            Assert.AreEqual(index.Key(8).Count(), list1.Count(i => i.IntField == 8));

            Assert.AreEqual(index.GreaterThan(6, true).LessThan(8).Count(), list1.Count(i => i.IntField >= 6 && i.IntField < 8));

            IdSequenceEqual(index.GreaterThan(6).LessThan(8).ToList(), list1.Where(i => i.IntField > 6 && i.IntField < 8));
            IdSequenceEqual(index.LessThan(8).ToList(), list1.Where(i => i.IntField < 8));
            IdSequenceEqual(index.GreaterThan(6, true).ToList(), list1.Where(i => i.IntField >= 6));
            IdSequenceEqual(index.GreaterThan(7, true).LessThan(7).ToList(), list1.Where(i => i.IntField >= 7 && i.IntField < 7));
            IdSequenceEqual(index.GreaterThan(7).LessThan(7, true).ToList(), list1.Where(i => i.IntField > 7 && i.IntField <= 7));
        }
Exemplo n.º 2
0
        public void OpenDbComplexPath()
        {
            var db = new DbInstance(@"My Database\My Schema");

            db.Initialize();
        }
Exemplo n.º 3
0
        public void OpenDbComplexPath2()
        {
            var db = new DbInstance(@"My Database\My Schema", Windows.Storage.ApplicationData.Current.TemporaryFolder);

            db.Initialize();
        }
Exemplo n.º 4
0
 /// <summary>
 /// Asynchronously determines database sizes
 /// </summary>
 /// <param name="db">Database instance to inspect</param>
 /// <returns>Awaitable Task of inspect operation</returns>
 public static Task GetInfoAsync(this DbInstance db)
 {
     return(TaskEx.Run(() => db.GetInfo()));
 }
Exemplo n.º 5
0
        public void OpenDb()
        {
            var db = new DbInstance("My Database");

            db.Initialize();
        }
Exemplo n.º 6
0
 /// <summary>
 /// Asynchronously compacts specified database instance
 /// </summary>
 /// <param name="db">Database instance to compact</param>
 /// <returns>Awaitable Task of compact operation</returns>
 public static Task CompactAsync(this DbInstance db)
 {
     return(TaskEx.Run(() => db.Compact()));
 }
Exemplo n.º 7
0
 /// <summary>
 /// Asynchronously purges specified database instance
 /// </summary>
 /// <param name="db">Database instance to purge</param>
 /// <returns>Awaitable Task of purge operation</returns>
 public static Task PurgeAsync(this DbInstance db)
 {
     return(TaskEx.Run(() => db.Purge()));
 }
Exemplo n.º 8
0
 /// <summary>
 /// Asynchronously executes write actions inside write transaction
 /// </summary>
 /// <param name="db">Database instance to write to</param>
 /// <param name="writes">Write operations to perform</param>
 /// <returns>Awaitable Task of write operations</returns>
 public static Task BulkWriteAsync(this DbInstance db, Action writes)
 {
     return(TaskEx.Run(() => db.BulkWrite(writes)));
 }
Exemplo n.º 9
0
 /// <summary>
 /// Asynchronously executes read actions inside read transaction
 /// </summary>
 /// <param name="db">Database instance to read from</param>
 /// <param name="reads">Read operations to perform</param>
 /// <returns>Awaitable Task of read operations</returns>
 public static Task BulkReadAsync(this DbInstance db, Action reads)
 {
     return(TaskEx.Run(() => db.BulkRead(reads)));
 }
Exemplo n.º 10
0
 /// <summary>
 /// Asynchronously initializes database instance
 /// </summary>
 /// <param name="db">Database instance to initialize</param>
 /// <returns>Awaitable Task of initialize operation</returns>
 public static Task InitializeAsync(this DbInstance db)
 {
     return(TaskEx.Run(() => db.Initialize()));
 }