コード例 #1
0
        public virtual string BuildQuery <TElement>(TableQueryBase query) where TElement : new()
        {
            switch (query.OperationType)
            {
            case TableOperationType.Insert:
                return(BuildInsertQuery((TableInsertQuery <TElement>)query));

            case TableOperationType.Delete:
                return(BuildDeleteQuery((TableDeleteQuery <TElement>)query));

            case TableOperationType.Retrieve:
                return(BuildRetrieveQuery((TableSelectQuery <TElement>)query));

            case TableOperationType.Update:
                return(BuildUpdateQuery((TableUpdateQuery <TElement>)query));
            }
            return(string.Empty);
        }
コード例 #2
0
        public async Task <TElement> ExecuteQueryAsync <TElement>(TableQueryBase query) where TElement : new()
        {
            IList <TElement> result = await ExecuteQuerySegmentAsync <TElement>(query);

            return(result.FirstOrDefault());
        }
コード例 #3
0
        public async Task <ScalarResult> ExecuteScalarAsync <TElement>(TableQueryBase query) where TElement : new()
        {
            var queryString = BuildQuery <TElement>(query);

            return(await ExecuteScalarAsync(new QueryString(queryString, query.OperationType)));
        }
コード例 #4
0
        public async Task <IList <TElement> > ExecuteQuerySegmentAsync <TElement>(TableQueryBase query) where TElement : new()
        {
            string queryString = BuildQuery <TElement>(query);

            return(await ExecuteQueryAsync(new QueryString(queryString, query.OperationType), TableSelectQuery <TElement> .nothing));
        }
コード例 #5
0
 public QueryFilter(string column, TableQueryBase query, FilterType filterType) : base(column, filterType)
 {
     Query = query;
 }
コード例 #6
0
 public static TableSelectQuery <TElement> Any <TElement, TOther>(this TableSelectQuery <TElement> query, string column, TableQueryBase otherQuery) where TElement : class, new() where TOther : class, new()
 {
     query.Filters.Add(new QueryFilter <TOther>(column, otherQuery, FilterType.Any));
     return(query);
 }