public FromQuery(SqlQuery oQuery, String sName) : base() { _Cmd = oQuery.GetCommand(); Name = sName; Provider = _Cmd.Provider; Columns = oQuery.SelectColumns.Select((X) => (IColumn)new DatabaseColumn(X.Name, this) { DataType = X.DataType, DefaultSetting = X.DefaultSetting, ForeignKeyTo = X.ForeignKeyTo, IsForeignKey = X.IsForeignKey, FriendlyName = X.FriendlyName }).ToList(); foreach (Aggregate oAggregate in oQuery.Aggregates) { bool hasAlais = !String.IsNullOrEmpty(oAggregate.Alias); Columns.Add(new DatabaseColumn(hasAlais ? oAggregate.Alias : oAggregate.ColumnName, this) { DataType = oAggregate.GetDataType() }); } }