public ColumnInfo GetColumnInfo(PropertyInfo pocoProperty) { ColumnInfo column = new ColumnInfo(); object[] columnNameAttributes = pocoProperty.GetCustomAttributes(typeof(ColumnNameAttribute), true); if (columnNameAttributes.Length > 0) { var columnNameAttribute = (ColumnNameAttribute)columnNameAttributes[0]; column.ColumnName = columnNameAttribute.ColumnName; } return column; }
/// <summary> /// Creates and populates a ColumnInfo from the attributes of a POCO property. /// </summary> /// <param name="propertyInfo">The property whose column info is required</param> /// <returns>A ColumnInfo instance</returns> public static ColumnInfo FromProperty(PropertyInfo propertyInfo) { // Check if declaring poco has [Explicit] attribute var explicitColumns = propertyInfo.DeclaringType.GetCustomAttributes(typeof(ExplicitColumnsAttribute), true).Length > 0; // Check for [Column]/[Ignore] Attributes var colAttrs = propertyInfo.GetCustomAttributes(typeof(ColumnAttribute), true); if (explicitColumns) { if (colAttrs.Length == 0) return null; } else { if (propertyInfo.GetCustomAttributes(typeof(IgnoreAttribute), true).Length != 0) return null; } var ci = new ColumnInfo(); // Read attribute if (colAttrs.Length > 0) { var colattr = (ColumnAttribute) colAttrs[0]; ci.InsertTemplate = colattr.InsertTemplate; ci.UpdateTemplate = colattr.UpdateTemplate; ci.ColumnName = colattr.Name == null ? propertyInfo.Name : colattr.Name; ci.ForceToUtc = colattr.ForceToUtc; if ((colattr as ResultColumnAttribute) != null) ci.ResultColumn = true; } else { ci.ColumnName = propertyInfo.Name; ci.ForceToUtc = false; ci.ResultColumn = false; } return ci; }
/// <summary> /// Get information about the column associated with a property of a POCO /// </summary> /// <param name="pocoProperty">The PropertyInfo of the property being queried</param> /// <returns>A reference to a ColumnInfo instance, or null to ignore this property</returns> /// <remarks> /// To create a ColumnInfo from a property's attributes, use PropertyInfo.FromProperty /// </remarks> public ColumnInfo GetColumnInfo(PropertyInfo pocoProperty) { var ci = new ColumnInfo(); return MapColumn(ci, pocoProperty.DeclaringType, pocoProperty) ? ci : null; }
/// <summary> /// Get information about the column associated with a property of a POCO /// </summary> /// <param name="pocoProperty">The PropertyInfo of the property being queried</param> /// <returns>A reference to a ColumnInfo instance, or null to ignore this property</returns> /// <remarks> /// To create a ColumnInfo from a property's attributes, use PropertyInfo.FromProperty /// </remarks> public virtual ColumnInfo GetColumnInfo(PropertyInfo pocoProperty) { return(ColumnInfo.FromProperty(pocoProperty)); }
/// <summary> /// Get information about the column associated with a property of a POCO /// </summary> /// <param name="pocoProperty">The PropertyInfo of the property being queried</param> /// <returns>A reference to a ColumnInfo instance, or null to ignore this property</returns> /// <remarks> /// To create a ColumnInfo from a property's attributes, use PropertyInfo.FromProperty /// </remarks> public ColumnInfo GetColumnInfo(PropertyInfo pocoProperty) { var ci = new ColumnInfo(); return(MapColumn(ci, pocoProperty.DeclaringType, pocoProperty) ? ci : null); }
public FluentColumnMap(ColumnInfo columnInfo, Func<object, object> fromDbConverter, Func<object, object> toDbConverter) { ColumnInfo = columnInfo; FromDbConverter = fromDbConverter; ToDbConverter = toDbConverter; }
public FluentColumnMap(ColumnInfo columnInfo, Func<object, object> fromDbConverter) : this(columnInfo, fromDbConverter, null) { }
public FluentColumnMap(ColumnInfo columnInfo) : this(columnInfo, null) { }