private string GetQueryColumns <TType>(QueryColumnMode mode, TType model = default(TType)) { var map = TypeTableMaps.Get <TType>(); var cols = new StringBuilder(); if (mode == QueryColumnMode.InsertColumns || mode == QueryColumnMode.InsertValues) { cols.Append("("); } foreach (var column in map.Columns) { if (column.IsKey || column.IsDbGenerated) { continue; } switch (mode) { case QueryColumnMode.InsertColumns: cols.Append("["); cols.Append(column.Name); cols.Append("], "); break; case QueryColumnMode.InsertValues: cols.Append("@"); cols.Append(column.Name); cols.Append(", "); break; case QueryColumnMode.UpdateSets: cols.Append("["); cols.Append(column.Name); cols.Append("] = "); cols.Append("@"); cols.Append(column.Name); cols.Append(", "); break; } } cols.Remove(cols.Length - 2, 2); if (mode == QueryColumnMode.InsertColumns || mode == QueryColumnMode.InsertValues) { cols.Append(")"); } return(cols.ToString()); }
private string GetQueryColumns(QueryColumnMode mode) { return(GetQueryColumns <TModel>(mode)); }