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)); }
public void OpenDbComplexPath() { var db = new DbInstance(@"My Database\My Schema"); db.Initialize(); }
public void OpenDbComplexPath2() { var db = new DbInstance(@"My Database\My Schema", Windows.Storage.ApplicationData.Current.TemporaryFolder); db.Initialize(); }
/// <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())); }
public void OpenDb() { var db = new DbInstance("My Database"); db.Initialize(); }
/// <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())); }
/// <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())); }
/// <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))); }
/// <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))); }
/// <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())); }