Example #1
0
        public override string GetFromClause(string join, string on, string equal, string dot, string leftSquare, string rightSquare, string and, bool includeSchema)
        {
            string result = includeSchema ? fromClauseWithSchema : fromClause;

            if (string.IsNullOrEmpty(result))
            {
                if (BaseInfo == null)
                {
                    result = includeSchema ? (leftSquare + SchemaName + rightSquare + dot + leftSquare + Name + rightSquare) : (leftSquare + Name + rightSquare);
                }
                else
                {
                    string baseFromClause = BaseInfo.GetFromClause(join, on, equal, dot, leftSquare, rightSquare, and, includeSchema);
                    if (includeSchema)
                    {
                        result = baseFromClause + join + leftSquare + SchemaName + rightSquare + leftSquare + Name + rightSquare;
                    }
                    else
                    {
                        result = baseFromClause + join + leftSquare + Name + rightSquare;
                    }
                    if (PrimaryKeys.Count > 0)
                    {
                        result += on;
                        foreach (ColumnInfo primaryKey in PrimaryKeys.Values)
                        {
                            if (includeSchema)
                            {
                                result += leftSquare + SchemaName + rightSquare + leftSquare + Name + rightSquare + dot + leftSquare + primaryKey.Name + rightSquare + equal + leftSquare + SchemaName + rightSquare + dot + leftSquare + Name + rightSquare + dot + leftSquare + primaryKey.Name + rightSquare;
                            }
                            else
                            {
                                result += leftSquare + Name + rightSquare + dot + leftSquare + primaryKey.Name + rightSquare + equal + leftSquare + BaseInfo.Name + rightSquare + dot + leftSquare + primaryKey.Name + rightSquare;
                            }
                        }
                    }
                }
                if (includeSchema)
                {
                    fromClauseWithSchema = result;
                }
                else
                {
                    fromClause = result;
                }
            }
            return(result);
        }