public static object ToSchemaObject(this ColumnSchema column) { return(new { name = column.Name, isNullable = column.AllowDBNull, desc = column.Description, fullName = column.FullName, isFk = column.IsForeignKeyMember, isPk = column.IsPrimaryKeyMember, isUnique = column.IsUnique, parent = (column.Parent == null ? string.Empty : column.Parent.Name), precision = column.Precision, scale = column.Scale, size = column.Size, sortName = column.SortName, systemType = column.SystemType.Name, table = column.Table.Name, auditType = column.GetAuditColumnType(), defaultValue = column.GetDefaultValue(), pkColumn = (column.GetPrimaryColumn() == null ? string.Empty : column.GetPrimaryColumn().Name), pkTable = (column.GetPrimaryTable() == null ? string.Empty : column.GetPrimaryTable().Name), hasDefault = column.HasDefaultValue(), isAudit = column.IsAuditColumn(), isDelete = column.IsDeleteFlag(), isUid = column.IsIdentifierColumn(), isId = column.IsIdentityColumn(), isSingularUnique = column.IsSingularUnique(), isVersionDate = column.IsVersionDateColumn(), isVersionUser = column.IsVersionUserColumn() }); }