public virtual void VerifyColumnMap(IColumnMap columnMap)
 {
     if (columnMap.Name.Length < 1)
     {
         HandleVerifyException(columnMap, "Column name must not be empty! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "')", "Name"); // do not localize
     }
     if (columnMap.DataType == DbType.AnsiStringFixedLength || columnMap.DataType == DbType.StringFixedLength)
     {
         if (columnMap.Length < 1)
         {
             HandleVerifyException(columnMap, "Length for column with data type '" + columnMap.DataType.ToString() + "' must not be < 1! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "', column '" + columnMap.Name + "')", "DataType"); // do not localize
         }
     }
     if (columnMap.IsAutoIncrease)
     {
         if (!((columnMap.DataType == DbType.Int16 || columnMap.DataType == DbType.Int32 || columnMap.DataType == DbType.Int64)))
         {
             HandleVerifyException(columnMap, "Column is marked as auto increaser but data type is not an integer! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "', column '" + columnMap.Name + "')", "PrimaryKeyTable"); // do not localize
         }
     }
     if (columnMap.IsForeignKey)
     {
         if (columnMap.PrimaryKeyTable.Length < 1)
         {
             HandleVerifyException(columnMap, "Column is marked as foreign key but no primary key table for the column has been specified! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "', column '" + columnMap.Name + "')", "PrimaryKeyTable"); // do not localize
         }
         if (columnMap.PrimaryKeyColumn.Length < 1)
         {
             HandleVerifyException(columnMap, "Column is marked as foreign key but no primary key column for the column has been specified! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "', column '" + columnMap.Name + "')", "PrimaryKeyColumn"); // do not localize
         }
     }
     if (columnMap.PrimaryKeyTable.Length > 0)
     {
         if (columnMap.GetPrimaryKeyTableMap() == null)
         {
             HandleVerifyException(columnMap, "Primary key table not found! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "', Primary key table: '" + columnMap.PrimaryKeyTable + "', column '" + columnMap.Name + "')", "PrimaryKeyTable"); // do not localize
         }
     }
     if (columnMap.PrimaryKeyColumn.Length > 0)
     {
         if (columnMap.GetPrimaryKeyColumnMap() == null)
         {
             HandleVerifyException(columnMap, "Primary key column not found! (Source: '" + columnMap.TableMap.SourceMap.Name + "', Table: '" + columnMap.TableMap.Name + "', Primary key column: '" + columnMap.PrimaryKeyColumn + "', column '" + columnMap.Name + "')", "PrimaryKeyColumn"); // do not localize
         }
     }
 }