public ColumnMapper(HbmColumn mapping, string memberName) { if (mapping == null) { throw new ArgumentNullException("mapping"); } if (memberName == null) { throw new ArgumentNullException("memberName"); } if (string.Empty == memberName.Trim()) { throw new ArgumentNullException("memberName", "The column name should be a valid not empty name."); } this.mapping = mapping; if (string.IsNullOrEmpty(mapping.name)) { mapping.name = memberName; } }
public void Column(Action <IColumnMapper> columnMapper) { HbmColumn hbm = mapping.Columns.SingleOrDefault(); hbm = hbm ?? new HbmColumn { name = mapping.column1 }; columnMapper(new ColumnMapper(hbm, DefaultIndexColumnName)); if (ColumnTagIsRequired(hbm)) { mapping.column = hbm; ResetColumnPlainValues(); } else { mapping.column1 = !DefaultIndexColumnName.Equals(hbm.name) ? hbm.name : null; } }
public void Column(Action <IColumnMapper> columnMapper) { if (manyToOne.Columns.Count() > 1) { throw new MappingException("Multi-columns property can't be mapped through single-column API."); } manyToOne.formula = null; HbmColumn hbm = manyToOne.Columns.SingleOrDefault(); hbm = hbm ?? new HbmColumn { name = manyToOne.column, notnull = manyToOne.notnull, notnullSpecified = manyToOne.notnullSpecified, unique = manyToOne.unique, uniqueSpecified = manyToOne.unique, uniquekey = manyToOne.uniquekey, index = manyToOne.index }; var defaultColumnName = member.Name; columnMapper(new ColumnMapper(hbm, member != null ? defaultColumnName : "unnamedcolumn")); if (hbm.sqltype != null || hbm.@default != null || hbm.check != null) { manyToOne.Items = new[] { hbm }; ResetColumnPlainValues(); } else { manyToOne.column = defaultColumnName == null || !defaultColumnName.Equals(hbm.name) ? hbm.name : null; manyToOne.notnull = hbm.notnull; manyToOne.notnullSpecified = hbm.notnullSpecified; manyToOne.unique = hbm.unique; manyToOne.uniquekey = hbm.uniquekey; manyToOne.index = hbm.index; } }
public AnyMapper(MemberInfo member, Type foreignIdType, HbmAny any, HbmMapping mapDoc) { this.member = member; this.foreignIdType = foreignIdType; this.any = any; this.mapDoc = mapDoc; if (member == null) { this.any.access = "none"; } if (member == null) { entityPropertyMapper = new NoMemberPropertyMapper(); } else { entityPropertyMapper = new AccessorPropertyMapper(member.DeclaringType, member.Name, x => any.access = x); } if (foreignIdType == null) { throw new ArgumentNullException("foreignIdType"); } if (any == null) { throw new ArgumentNullException("any"); } this.any.idtype = this.foreignIdType.GetNhTypeName(); var idHbmColumn = new HbmColumn(); var idColumnName = member == null ? DefaultIdColumnNameWhenNoProperty : member.Name + "Id"; idColumnMapper = new ColumnMapper(idHbmColumn, idColumnName); var classHbmColumn = new HbmColumn(); var classColumnName = member == null ? DefaultMetaColumnNameWhenNoProperty : member.Name + "Class"; classColumnMapper = new ColumnMapper(classHbmColumn, classColumnName); any.column = new[] { idHbmColumn, classHbmColumn }; }
public void Column(Action <IColumnMapper> columnMapper) { if (elementMapping.Columns.Count() > 1) { throw new MappingException("Multi-columns property can't be mapped through singlr-column API."); } elementMapping.formula = null; HbmColumn hbm = elementMapping.Columns.SingleOrDefault(); hbm = hbm ?? new HbmColumn { name = elementMapping.column, length = elementMapping.length, scale = elementMapping.scale, precision = elementMapping.precision, notnull = elementMapping.notnull, unique = elementMapping.unique, uniqueSpecified = elementMapping.unique, }; columnMapper(new ColumnMapper(hbm, DefaultColumnName)); if (ColumnTagIsRequired(hbm)) { elementMapping.Items = new[] { hbm }; ResetColumnPlainValues(); } else { elementMapping.column = !DefaultColumnName.Equals(hbm.name) ? hbm.name : null; elementMapping.length = hbm.length; elementMapping.precision = hbm.precision; elementMapping.scale = hbm.scale; elementMapping.notnull = hbm.notnull; elementMapping.unique = hbm.unique; } }
private bool ColumnTagIsRequired(HbmColumn hbm) { return(hbm.precision != null || hbm.scale != null || hbm.notnull || hbm.unique || hbm.uniquekey != null || hbm.sqltype != null || hbm.index != null || hbm.@default != null || hbm.check != null); }
public void Bind(HbmColumn column, bool isNullable) { this.BindColumn(column, value.Table, isNullable); }
public ColumnOrFormulaMapper(HbmColumn columnMapping, string memberName, HbmFormula formulaMapping) : base(columnMapping, memberName) { _formulaMapping = formulaMapping ?? throw new ArgumentNullException(nameof(formulaMapping)); }