Exemple #1
0
        public SqlQuery EnsureJoinsInExpression(string expression)
        {
            if (string.IsNullOrEmpty(expression))
            {
                return(this);
            }

            string referencedJoin;
            var    referencedJoins = JoinAliasLocator.LocateOptimized(expression, out referencedJoin);

            if (referencedJoin != null)
            {
                EnsureJoin(referencedJoin);
            }

            if (referencedJoins != null)
            {
                foreach (var alias in referencedJoins)
                {
                    EnsureJoin(alias);
                }
            }

            return(this);
        }
        static void EnsureJoinsInExpression(SqlQuery query, string expression)
        {
            if (string.IsNullOrEmpty(expression))
            {
                return;
            }

            var ext = (ISqlQueryExtensible)query;

            var intoRow = ext.FirstIntoRow as IEntityWithJoins;

            if (intoRow == null)
            {
                return;
            }

            string referencedJoin;
            Join   join;
            var    referencedJoins = JoinAliasLocator.LocateOptimized(expression, out referencedJoin);

            if (referencedJoin != null)
            {
                if (intoRow.Joins.TryGetValue(referencedJoin, out join))
                {
                    EnsureJoin(query, join);
                }
            }

            if (referencedJoins != null)
            {
                foreach (var alias in referencedJoins)
                {
                    if (intoRow.Joins.TryGetValue(alias, out join))
                    {
                        EnsureJoin(query, join);
                    }
                }
            }
        }
Exemple #3
0
        partial void EnsureJoinsInExpression(string expression)
        {
            if (expression.IsNullOrEmpty())
            {
                return;
            }

            var intoRow = this.FirstIntoRow as IEntityWithJoins;

            if (intoRow == null)
            {
                return;
            }

            string referencedJoin;
            Join   join;
            var    referencedJoins = JoinAliasLocator.LocateOptimized(expression, out referencedJoin);

            if (referencedJoin != null)
            {
                if (intoRow.Joins.TryGetValue(referencedJoin, out join))
                {
                    EnsureJoin(join);
                }
            }

            if (referencedJoins != null)
            {
                foreach (var alias in referencedJoins)
                {
                    if (intoRow.Joins.TryGetValue(alias, out join))
                    {
                        EnsureJoin(join);
                    }
                }
            }
        }