/// <summary> /// Creates and populates a TableInfo from the attributes of a POCO /// </summary> /// <param name="t">The POCO type</param> /// <returns>A TableInfo instance</returns> public static TableInfo FromPoco(Type t) { TableInfo ti = new TableInfo(); // Get the table name var a = t.GetCustomAttributes(typeof(TableNameAttribute), true); ti.TableName = a.Length == 0 ? t.Name : (a[0] as TableNameAttribute).Value; // Get the primary key a = t.GetCustomAttributes(typeof(PrimaryKeyAttribute), true); ti.PrimaryKey = a.Length == 0 ? "ID" : (a[0] as PrimaryKeyAttribute).Value; ti.SequenceName = a.Length == 0 ? null : (a[0] as PrimaryKeyAttribute).sequenceName; ti.AutoIncrement = a.Length == 0 ? false : (a[0] as PrimaryKeyAttribute).autoIncrement; return ti; }
/// <summary> /// Constructs a TableInfo for a POCO by reading its attribute data /// </summary> /// <param name="pocoType">The POCO Type</param> /// <returns></returns> public TableInfo GetTableInfo(Type pocoType) { return(TableInfo.FromPoco(pocoType)); }