public void DynamicCrudTest() { FileInfo inputFile = new FileInfo("c:\\BamTestData\\Db_SillydatabaseNameMap_NormalizEDOnTypes.json"); SchemaNameMap map = SchemaNameMap.Load(inputFile.FullName); DynamicDatabase db = new DynamicDatabase(GetDatabase(), map); var bryan = new { Type = "Customer", Where = new { FirstName = "Bam" } }; db.Delete(bryan); var retrieved = db.RetrieveFirst(bryan); Expect.IsNull(retrieved); db.Create(Reflect.Combine(bryan, new { FirstName = "Bam", LastName = "Apellanes", Birthday = new DateTime(1976, 11, 1), Age = 38 })); db.Create(Reflect.Combine(bryan, new { FirstName = "Bam", LastName = "Banana", Birthday = new DateTime(1974, 1, 1), Age = 10 })); var query = new { TableName = "Customer", Where = new { FirstName = "Bam" } }; dynamic[] results = db.Retrieve(query).ToArray(); Expect.AreEqual(2, results.Length); OutLine("Results after insert", ConsoleColor.Cyan); foreach (object result in results) { OutLine(result.PropertiesToString(), ConsoleColor.Cyan); } db.Delete(new { Type = "Customer", Where = new { LastName = "Apellanes", Or = new { LastName = "Banana" } } }); results = db.Retrieve(query).ToArray(); Expect.AreEqual(0, results.Length, "Should have got no results"); }