public UpdateQuery(Dialect dialect, ColumnMapCollection columns, DbCommand command, string target, string whereClause) { Dialect = dialect; Target = target; Columns = columns; Command = command; WhereClause = whereClause; }
protected override void CreateColumnMap(Type entityType, MemberInfo member, ColumnAttribute columnAtt, ColumnMapCollection columnMaps) { if (ColumnPredicate(member)) { // Map public property to DB column columnMaps.Add(new ColumnMap(member)); } }
/// <summary> /// Registers any member with a ColumnAttribute as a ColumnMap. /// <param name="entityType">The entity that is being mapped.</param> /// <param name="member">The current member that is being inspected.</param> /// <param name="columnAtt">A ColumnAttribute (is null of one does not exist).</param> /// <param name="columnMaps">A list of ColumnMaps.</param> /// </summary> protected override void CreateColumnMap(Type entityType, MemberInfo member, ColumnAttribute columnAtt, ColumnMapCollection columnMaps) { if (columnAtt != null) { ColumnMap columnMap = new ColumnMap(member, columnAtt); columnMaps.Add(columnMap); } }
public InsertQuery(Dialect dialect, ColumnMapCollection columns, DbCommand command, string target) { if (string.IsNullOrEmpty(target)) { throw new DataMappingException("A target table must be passed in or set in a TableAttribute."); } Dialect = dialect; Target = target; Columns = columns; Command = command; }
/// <summary> /// Implements IMapStrategy. /// Loops through filtered members and calls the virtual "CreateColumnMap" void for each member. /// Subclasses can override CreateColumnMap to customize adding ColumnMaps. /// </summary> /// <param name="entityType"></param> /// <returns></returns> public ColumnMapCollection MapColumns(Type entityType) { ColumnMapCollection columnMaps = new ColumnMapCollection(); MemberInfo[] members = entityType.GetMembers(_bindingFlags); foreach (var member in members) { ColumnAttribute columnAtt = GetColumnAttribute(member); CreateColumnMap(entityType, member, columnAtt, columnMaps); } return columnMaps; }
/// <summary> /// Maps properties to DB columns if a ColumnAttribute is not present. /// <param name="entityType">The entity that is being mapped.</param> /// <param name="member">The current member that is being inspected.</param> /// <param name="columnAtt">A ColumnAttribute (is null of one does not exist).</param> /// <param name="columnMaps">A list of ColumnMaps.</param> /// </summary> protected override void CreateColumnMap(Type entityType, MemberInfo member, ColumnAttribute columnAtt, ColumnMapCollection columnMaps) { if (columnAtt != null) { // Add columns with ColumnAttribute base.CreateColumnMap(entityType, member, columnAtt, columnMaps); } else { if (member.MemberType == MemberTypes.Property) { // Map public property to DB column columnMaps.Add(new ColumnMap(member)); } } }
/// <summary> /// Inspect a member and optionally add a ColumnMap. /// </summary> /// <param name="entityType">The entity type that is being mapped.</param> /// <param name="member">The member that is being mapped.</param> /// <param name="columnMaps">The ColumnMapCollection that is being created.</param> protected abstract void CreateColumnMap(Type entityType, MemberInfo member, ColumnAttribute columnAtt, ColumnMapCollection columnMaps);
public static IQuery CreateInsertQuery(ColumnMapCollection columns, IDataMapper dataMapper, string target) { Dialect dialect = CreateDialect(dataMapper); return new InsertQuery(dialect, columns, dataMapper.Command, target); }
public static IQuery CreateUpdateQuery(ColumnMapCollection columns, IDataMapper dataMapper, string target, string whereClause) { Dialect dialect = CreateDialect(dataMapper); return new UpdateQuery(dialect, columns, dataMapper.Command, target, whereClause); }