Revenj.DatabasePersistence.Postgres.QueryGeneration.QueryComposition.QueryParts.TryToSimplifyMainFrom C# (CSharp) Method

TryToSimplifyMainFrom() private method

private TryToSimplifyMainFrom ( ) : void
return void
        private void TryToSimplifyMainFrom()
        {
            var from = MainFrom;
            var sqe = from.FromExpression as SubQueryExpression;
            do
            {
                from = sqe.QueryModel.MainFromClause;
                var subquery = SubqueryGeneratorQueryModelVisitor.ParseSubquery(sqe.QueryModel, this);
                if (subquery.Conditions.Count > 0
                    || subquery.Joins.Count > 0
                    || subquery.ResultOperators.Any(it => it is CastResultOperator == false && it is DefaultIfEmptyResultOperator == false)
                    || subquery.AdditionalJoins.Count > 0)
                    return;
                sqe = from.FromExpression as SubQueryExpression;
            } while (sqe != null);
            from.ItemName = MainFrom.ItemName;
            MainFrom = from;
        }