@@ -18,6 +18,9 @@ public class AssessmentResult
1818 // Properties for multi-database handling
1919 public bool GenerateSeparateExcel { get ; set ; } = false ;
2020 public List < AssessmentResult > IndividualDatabaseResults { get ; set ; } = new ( ) ;
21+
22+ // Output path information (not serialized to JSON)
23+ public string AnalysisFolderPath { get ; set ; } = string . Empty ;
2124 }
2225
2326 /// <summary>
@@ -93,10 +96,14 @@ public class ChildTableSchema
9396 {
9497 public string TableName { get ; set ; } = string . Empty ;
9598 public string SourceFieldPath { get ; set ; } = string . Empty ;
96- public string ChildTableType { get ; set ; } = string . Empty ; // "Array" or "NestedObject"
99+ public string ChildTableType { get ; set ; } = string . Empty ; // "Array" or "NestedObject" or "ManyToMany"
97100 public Dictionary < string , FieldInfo > Fields { get ; set ; } = new ( ) ;
98101 public long SampleCount { get ; set ; }
99102 public string ParentKeyField { get ; set ; } = "ParentId" ; // Foreign key to parent table
103+
104+ // Many-to-many analysis properties
105+ public List < IndexRecommendation > RecommendedIndexes { get ; set ; } = new ( ) ;
106+ public List < string > TransformationNotes { get ; set ; } = new ( ) ;
100107 }
101108
102109 /// <summary>
@@ -186,4 +193,17 @@ public class PerformanceTrend
186193 public string Trend { get ; set ; } = string . Empty ; // "Increasing", "Decreasing", "Stable"
187194 public double ChangePercentage { get ; set ; }
188195 }
196+
197+ /// <summary>
198+ /// Analysis result for array storage strategy decisions
199+ /// </summary>
200+ public class ArrayAnalysis
201+ {
202+ public string ArrayName { get ; set ; } = string . Empty ;
203+ public int ItemCount { get ; set ; }
204+ public bool ShouldCreateTable { get ; set ; }
205+ public string RecommendedStorage { get ; set ; } = string . Empty ; // "JSON", "DelimitedString", "RelationalTable"
206+ public string RecommendedSqlType { get ; set ; } = string . Empty ;
207+ public string TransformationLogic { get ; set ; } = string . Empty ;
208+ }
189209}
0 commit comments