コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }
コード例 #3
0
 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();
 }