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); }