コード例 #1
0
        private SqlSelect BuildUnionQuery(IndexInfo index)
        {
            ISqlQueryExpression result = null;

            var baseQueries = index.UnderlyingIndexes.Select(BuildProviderQuery).ToList();

            foreach (var select in baseQueries)
            {
                result = result == null
          ? (ISqlQueryExpression)select
          : result.Union(select);
            }

            var unionRef = SqlDml.QueryRef(result);
            var query    = SqlDml.Select(unionRef);

            query.Columns.AddRange(unionRef.Columns);
            return(query);
        }