public void FeedAndGetMany() { //feed lots of objects to the cache var session = _client.BeginFeed <TradeLike>(50, false); var random = new Random(); for (var i = 0; i < 10000; i++) { var newItem = new TradeLike(i, 1000 + i, "aaa", new DateTime(2009, 10, 10), random.Next(1000)); _client.Add(session, newItem); } _client.EndFeed <TradeLike>(session); //get a subset of the fed objects var builder = new QueryBuilder(typeof(TradeLike)); var query = builder.GetMany("Nominal < 500"); //sync get _client.GetMany <TradeLike>(query).ToList(); //async get { var evt = new ManualResetEvent(false); var itemCount = 0; _client.AsyncGetMany(query, delegate(TradeLike like, int item, int total) { itemCount++; if (item == total) { evt.Set(); } }, delegate { }); evt.WaitOne(); Console.WriteLine("Found {0} objects", itemCount); } //select _logger.Reset(); var cmd = _parser.Parse("select TRADELIKE where Nominal < 500"); Assert.IsTrue(cmd.CanExecute); Assert.IsNotNull(cmd.TryExecute(_client)); // check for empty result _logger.Reset(); cmd = _parser.Parse("select TRADELIKE where Nominal < 500, Folder = inexistent"); Assert.IsTrue(cmd.CanExecute); Assert.IsNotNull(cmd.TryExecute(_client)); }