internal Column(PropertyInfo prop) { _prop = prop; this._dataConverter = null; Name = OrmHelper.GetColumnName(prop); // If this type is Nullable<T> then Nullable.GetUnderlyingType returns the T, // otherwise it returns null, so get the the actual type instead ColumnType = OrmHelper.GetColumnType(prop); Collation = OrmHelper.GetCollation(prop); PrimaryKey = OrmHelper.GetPrimaryKey(prop); IsNullable = this.PrimaryKey == null && OrmHelper.GetIsColumnNullable(prop); IsAutoIncrement = OrmHelper.GetIsAutoIncrement(prop); Unique = OrmHelper.GetUnique(prop); MaxStringLength = OrmHelper.GetMaxStringLength(prop); Checks = OrmHelper.GetChecks(prop); DefaultValue = OrmHelper.GetDefaultValue(prop); this.DataConverterAttribute = OrmHelper.GetDataConverter(prop); }