public JArray Retrieve(string soupName, params long[] soupEntryIds) { lock (smartlock) { DBHelper db = Database; string soupTableName = db.GetSoupTableName(soupName); var result = new JArray(); if (String.IsNullOrWhiteSpace(soupTableName)) { throw new SmartStoreException("Soup: " + soupName + " does not exist"); } using (ISQLiteStatement statement = db.Query(soupTableName, new[] { SoupCol }, String.Empty, String.Empty, GetSoupEntryIdsPredicate(soupEntryIds))) { if (statement.DataCount > 0) { do { string raw = statement.GetText(statement.ColumnIndex(SoupCol)); result.Add(JObject.Parse(raw)); } while (statement.Step() == SQLiteResult.ROW); } } return(result); } }