private static void CreateMetaDataForProperty(FModelMetaData mmd, PropertyInfo pi) { FPropertyMetaData p = new FPropertyMetaData(pi); p.Name = pi.Name; p.Type = pi.PropertyType; HandlePropertyAttributes(p); mmd.Properties.Add(p); }
private static void HandlePropertyAttributes(FPropertyMetaData p) { // 可能的字段名处理 var columnAttr = p.PropertyInfo.GetCustomAttribute <ColumnAttribute>(); if (columnAttr != null) { p.ColumnName = columnAttr.Name; p.ColumnOrder = columnAttr.Order; } else { p.ColumnName = p.Name; } // 主键 var keyAttr = p.PropertyInfo.GetCustomAttribute <KeyAttribute>(); if (keyAttr != null) { p.IsKey = true; } }