public TableInfo(Type t, IManageConverters converter,TableName name=null)
{
Type = t;
Converter = converter;
Table = name??new TableName(t.Name);
Columns =
t.GetMembers(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.Where(m =>m.IsProperty())
.Cast<PropertyInfo>()
.Select((m,idx) => new ColumnInfo(this, m)
{
PocoIdx = idx
,HasConverter = converter.HasConverter(m.PropertyType)
// ,CanBeFlattened = !m.PropertyType.IsCustomObjectType() || converter.CanFlattenValueObject(m.PropertyType)
}).ToArray();
HandleAttributeOverride();
}