コード例 #1
0
ファイル: UpdateQuery.cs プロジェクト: vawen/Marr.DataMapper
 public UpdateQuery(Dialect dialect, ColumnMapCollection columns, DbCommand command, string target, string whereClause)
 {
     Dialect = dialect;
     Target = target;
     Columns = columns;
     Command = command;
     WhereClause = whereClause;
 }
コード例 #2
0
 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));
     }
 }
コード例 #3
0
 /// <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);
     }
 }
コード例 #4
0
ファイル: InsertQuery.cs プロジェクト: vawen/Marr.DataMapper
 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;
 }
コード例 #5
0
        /// <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;
        }
コード例 #6
0
 /// <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));
         }
     }
 }
コード例 #7
0
 /// <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);
コード例 #8
0
ファイル: QueryFactory.cs プロジェクト: BO45/NzbDrone
 public static IQuery CreateInsertQuery(ColumnMapCollection columns, IDataMapper dataMapper, string target)
 {
     Dialect dialect = CreateDialect(dataMapper);
     return new InsertQuery(dialect, columns, dataMapper.Command, target);
 }
コード例 #9
0
ファイル: QueryFactory.cs プロジェクト: BO45/NzbDrone
 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);
 }