using Dapper; namespace CrupestApi.Commons.Crud; public interface IClause { IEnumerable GetSubclauses() { return Enumerable.Empty(); } IEnumerable GetRelatedColumns() { var subclauses = GetSubclauses(); var result = new List(); foreach (var subclause in subclauses) { var columns = subclause.GetRelatedColumns(); if (columns is not null) result.AddRange(columns); } return result; } }