private IEnumerable<IDictionary<string, object>> FindByExpression(string tableName, SimpleExpression criteria) { var builder = new CommandBuilder(GetSchema().FindTable, GetKeyNames); var cmd = builder.BuildCommand(tableName, criteria); return FindEntries(cmd.CommandText); }
private IEnumerable<IDictionary<string, object>> FindByQuery(SimpleQuery query, out IEnumerable<SimpleQueryClauseBase> unhandledClauses) { var builder = new CommandBuilder(GetSchema().FindTable, GetKeyNames); var cmd = builder.BuildCommand(query); unhandledClauses = cmd.UnprocessedClauses; IEnumerable<IDictionary<string, object>> results; if (cmd.SetTotalCount == null) { results = FindEntries(cmd.CommandText, cmd.IsScalarResult); } else { int totalCount; results = FindEntries(cmd.CommandText, out totalCount); cmd.SetTotalCount(totalCount); } return results; }
private IDictionary<string, object> FindByKey(string tableName, object[] keyValues) { var builder = new CommandBuilder(GetSchema().FindTable, GetKeyNames); var cmd = builder.BuildCommand(tableName, keyValues); return FindEntries(cmd.CommandText).SingleOrDefault(); }