namespace AnalyticsDAL.DTO.Wizard { /// One auto-suggested join between two already-selected tables, derived from a live /// foreign-key constraint (see JoinSuggestionService.SuggestJoins). Purely advisory — the /// wizard FE surfaces these to the user, who accepts/edits a subset into /// AnalyticsWizardBuildRequestDTO.AcceptedJoins before QuickBuildAsync runs. public class SuggestedJoinDTO { public int FromDBObjectId { get; set; } public int ToDBObjectId { get; set; } public string FromTable { get; set; } = string.Empty; public string ToTable { get; set; } = string.Empty; /// "Table.Column = Table.Column"-style expression, AND-joined across every /// column pair of a multi-column FK constraint. public string Expression { get; set; } = string.Empty; public string SourceConstraintName { get; set; } = string.Empty; /// True when FromTable and ToTable are the same table (self-referencing FK) — /// the generated expression will collide on ambiguous column references unless the user /// supplies distinct aliases, so the FE must prompt for manual aliasing before accepting. public bool RequiresManualAliasing { get; set; } } }