public override void DeepCopy(IMap mapObject) { IColumnMap columnMap = (IColumnMap)mapObject; Copy(columnMap); DoDeepCopy(columnMap); }
public SqlOrderByItem AddSqlOrderByItem(IColumnMap columnMap, bool descending) { SqlColumnAlias sqlColumnAlias = this.SqlStatement.GetSqlColumnAlias(columnMap); SqlColumnAliasReference sqlColumnAliasReference = new SqlColumnAliasReference(sqlColumnAlias); return(AddSqlOrderByItem(sqlColumnAliasReference, descending)); }
/// <summary> /// Convert <paramref name="dataTable"/> to <see cref="JArray"/> using <paramref name="mappingTemplate"/>. /// </summary> /// <returns>The jarray.</returns> /// <param name="dataTable">Data table.</param> /// <param name="mappingTemplate">Mapping template.</param> public static JArray ToJarray(this DataTable dataTable, IMappingTemplate mappingTemplate) { if (dataTable is null) { throw new NullReferenceException(nameof(dataTable)); } if (mappingTemplate is null) { throw new ArgumentNullException(nameof(mappingTemplate)); } var jArray = new JArray(); foreach (DataRow row in dataTable.Rows) { var jObject = new JObject(); int colIndex = 0; foreach (DataColumn column in dataTable.Columns) { IColumnMap columnMap = null; if (mappingTemplate.UseColumnIndex) { columnMap = mappingTemplate.GetMap(columnIndex: colIndex); } else { columnMap = mappingTemplate.GetMap(columnName: column.ColumnName); } if (columnMap is null) { continue; } var value = string.Empty; if (columnMap.NormalizeValue) { value = row[column].ToString().Trim(); } else { value = row[column].ToString(); } jObject.Add(new JProperty(columnMap.PropertyName, row[column].ToString())); colIndex++; } colIndex = 0; jArray.Add(jObject); } return(jArray); }
protected override string GetParameterName(IPropertyMap propertyMap, IColumnMap columnMap, string prefix) { string name = prefix; name = name + propertyMap.Name; name = name + "_" + columnMap.Name; name = ":" + name; return(name); }
public SqlColumn GetSqlColumn(IColumnMap columnMap) { SqlColumn sqlColumn = FindSqlColumn(columnMap.Name); if (sqlColumn == null) { sqlColumn = new SqlColumn(this, columnMap); } return(sqlColumn); }
public virtual IColumnMap MustGetPrimaryKeyColumnMap() { IColumnMap columnMap = GetPrimaryKeyColumnMap(); if (columnMap == null) { throw new MappingException("Could not find column " + m_PrimaryKeyTable + "." + m_PrimaryKeyColumn + ", specified as primary column for foreign key column " + this.TableMap.Name + "." + this.Name + ", in map file!"); } return(columnMap); }
public virtual IColumnMap MustGetColumnMap(string findName) { IColumnMap columnMap = GetColumnMap(findName); if (columnMap == null) { throw new MappingException("Could not find column " + findName + " in table " + m_name + " in map file!"); } return(columnMap); }
public SqlColumn GetSqlColumn(IColumnMap columnMap) { SqlTable sqlTable = GetSqlTable(columnMap.TableMap); SqlColumn sqlColumn = FindSqlColumn(sqlTable, columnMap.Name); if (sqlColumn == null) { sqlColumn = new SqlColumn(sqlTable, columnMap); } return(sqlColumn); }
/// <summary> /// Adds <paramref name="columnMap"/> to <see cref="Maps"/>. /// </summary> /// <param name="columnMap">Column map.</param> public void Add(IColumnMap columnMap) { if (columnMap is null) { throw new ArgumentNullException(nameof(columnMap)); } if (!_columnMaps.Contains(columnMap)) { _columnMaps.Add(columnMap); } }
/// <summary> /// Removes the <paramref name="columnMap"/> from <see cref="Maps"/> /// </summary> /// <param name="columnMap">Column map.</param> public void Remove(IColumnMap columnMap) { if (columnMap is null) { throw new ArgumentNullException(nameof(columnMap)); } if (_columnMaps.Contains(columnMap)) { _columnMaps.Remove(columnMap); } }
private void SetAllowNulls(IColumnMap columnMap, bool value) { ILoggingService loggingService = engine.GetService <ILoggingService>(); if (loggingService != null) { loggingService.LogInfo(this, String.Format("Setting rule for column {0}.{1}: nullable = {2}.", columnMap.TableMap.Name, columnMap.Name, value.ToString())); } columnMap.AllowNulls = value; }
private void SetAutoIncreaser(IColumnMap columnMap, bool value) { ILoggingService loggingService = engine.GetService <ILoggingService>(); if (loggingService != null) { loggingService.LogInfo(this, String.Format("Setting rule for column {0}.{1}: auto increaser = {2}.", columnMap.TableMap.Name, columnMap.Name, value.ToString())); } columnMap.IsAutoIncrease = value; }
public virtual SqlColumnAlias GetPropertyColumn(IPropertyMap propertyMap, object hash) { if (hash == null) { hash = propertyMap; } SqlTableAlias tbl = sqlEmitter.GetTableAlias(propertyMap.MustGetTableMap(), hash); IColumnMap columnMap = propertyMap.GetColumnMap(); return(tbl.GetSqlColumnAlias(columnMap)); }
private void SetPrimaryKey(IColumnMap columnMap, bool value) { ILoggingService loggingService = engine.GetService <ILoggingService>(); if (loggingService != null) { loggingService.LogInfo(this, String.Format("Setting rule for column {0}.{1}: primary key = {2}.", columnMap.TableMap.Name, columnMap.Name, value.ToString())); } columnMap.IsPrimaryKey = value; }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap, string alias, string tableAlias) { SqlTableAlias sqlTableAlias = GetSqlTableAlias(columnMap.TableMap, tableAlias); SqlColumnAlias sqlColumnAlias = FindSqlColumnAlias(sqlTableAlias, columnMap.Name, alias, tableAlias); if (sqlColumnAlias == null) { SqlColumn sqlColumn = GetSqlColumn(columnMap); sqlColumnAlias = new SqlColumnAlias(sqlTableAlias, sqlColumn, alias); } return(sqlColumnAlias); }
protected SqlParameter CreateParameter(IColumnMap columnMap, object value) { if (columnMap.Serializer != null) value = columnMap.Serializer.Serialize(value); return new SqlParameter(GetParameterName(columnMap.ColumnName), value) { IsNullable = columnMap.IsNullable, Precision = columnMap.ColumnPrecision, Scale = columnMap.ColumnScale, Size = columnMap.ColumnMaxLength }; }
/// <summary> /// Converts database type to C# type. /// </summary> /// <param name="columnMap">The column map.</param> /// <returns>The C# type.</returns> public static string GetDataType(IColumnMap columnMap) { switch (columnMap.DataType) { case DbType.AnsiString: return "varchar(" + columnMap.Length + ") character set latin1"; case DbType.AnsiStringFixedLength: return "char(" + columnMap.Length + ") character set latin1"; case DbType.Binary: return "blob(" + columnMap.Length + ")"; case DbType.Boolean: return "bit"; case DbType.Byte: return "tinyint unsigned"; case DbType.Date: return "date"; case DbType.DateTime: return "datetime"; case DbType.Decimal: return "decimal"; case DbType.Double: return "double"; case DbType.Int16: return "smallint"; case DbType.Int32: return "int"; case DbType.Int64: return "bigint"; case DbType.SByte: return "tinyint"; case DbType.Single: return "float"; case DbType.String: return "varchar(" + columnMap.Length + ") character set utf8"; case DbType.StringFixedLength: return "char(" + columnMap.Length + ") character set utf8"; case DbType.Time: return "timespan"; case DbType.UInt16: return "smallint unsigned"; case DbType.UInt32: return "int unsigned"; case DbType.UInt64: return "bigint unsigned"; default: throw new ArgumentException("unknown db data type: " + columnMap.DataType.ToString(), "columnMap"); } }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap, string alias) { if (columnMap == null) { throw new ArgumentNullException("columnMap"); } SqlColumnAlias sqlColumnAlias = FindSqlColumnAlias(columnMap.Name, alias); if (sqlColumnAlias == null) { SqlColumn sqlColumn = this.SqlTable.GetSqlColumn(columnMap); sqlColumnAlias = new SqlColumnAlias(this, sqlColumn, alias); } return(sqlColumnAlias); }
private object[] GetKeyParts(Type type, string identity) { IClassMap classMap = this.Context.DomainMap.MustGetClassMap(type); IList idProperties = classMap.GetIdentityPropertyMaps(); if (idProperties.Count < 1) { throw new NPersistException(string.Format("Type {0} has no known identity properties!", type.ToString())); } if (idProperties.Count > 1) { return(GetKeyParts(type, identity, classMap, idProperties)); } IPropertyMap idPropertyMap = (IPropertyMap)idProperties[0]; object[] keyParts = new object[2]; keyParts[0] = type; bool found = false; if (idPropertyMap.GetIsAssignedBySource()) { IColumnMap columnMap = idPropertyMap.GetColumnMap(); if (columnMap != null) { if (columnMap.IsAutoIncrease) { if (Util.IsNumeric(identity)) { keyParts[1] = this.Context.ObjectManager.ConvertValueToType(type, ((IPropertyMap)idProperties[0]), identity); } else { keyParts[1] = identity; } found = true; } } } if (!found) { keyParts[1] = this.Context.ObjectManager.ConvertValueToType(type, ((IPropertyMap)idProperties[0]), identity); } return(keyParts); }
private void ValidateDatabaseDateRange(object obj, IPropertyMap propertyMap, IList exceptions) { if (propertyMap.Column.Length > 0) { IObjectManager om = this.Context.ObjectManager; IColumnMap columnMap = propertyMap.GetColumnMap(); if (columnMap != null) { if (columnMap.DataType.Equals(DbType.DateTime) || columnMap.DataType.Equals(DbType.Time) || columnMap.DataType.Equals(DbType.Date)) { if (!(om.GetNullValueStatus(obj, propertyMap.Name))) { ISourceMap sourceMap = propertyMap.GetSourceMap(); if (sourceMap != null) { object rawValue = om.GetPropertyValue(obj, propertyMap.Name); if (rawValue == null) { //all ok } else { DateTime value = (DateTime)rawValue; if (sourceMap.SourceType == SourceType.MSSqlServer) { DateTime minDate = new DateTime(1753, 1, 1, 0, 0, 0); if (value < minDate) { string template = "Validation error in object {0}.{1} , property {2}: " + Environment.NewLine + "Sql server can not handle date/time values lower than 1753-01-01 00:00:00"; string result = String.Format( template, propertyMap.ClassMap.Name, this.Context.ObjectManager.GetObjectKeyOrIdentity(obj), propertyMap.Name); HandleException(obj, propertyMap.Name, exceptions, new ValidationException(result), minDate, value, value); } } } } } } } } }
/// <summary> /// Generates the 'create' method. /// </summary> /// <param name="file">The file.</param> /// <param name="classMap">The class map.</param> public override void GenerateCreate(StreamWriter file, IClassMap classMap) { bool first = true; // create fields list StringBuilder valuesQuery = new StringBuilder(16 * classMap.PropertyMaps.Count); foreach (IPropertyMap propertyMap in classMap.PropertyMaps) { if (!first) { valuesQuery.Append(","); } valuesQuery.Append("'\" + m_state.EscapeString(obj." + propertyMap.Name + ".ToString()) + \"'"); first = false; } string sqlCommand = "INSERT INTO `" + classMap.GetTableMap().Name + "`" + " VALUES (" + valuesQuery + ");"; // find auto_incremented values IPropertyMap autoIncrementProperty = null; foreach (IPropertyMap propertyMap in classMap.PropertyMaps) { IColumnMap columnMap = propertyMap.GetColumnMap(); if (columnMap.IsAutoIncrease) { // just one auto_increment column autoIncrementProperty = propertyMap; break; } } file.WriteLine(" m_state.ExecuteNonQuery("); file.WriteLine(" \""+ sqlCommand + "\");"); if (autoIncrementProperty != null) { file.WriteLine(" object insertedId = m_state.ExecuteScalar(\"SELECT LAST_INSERT_ID();\");"); file.WriteLine(" obj."+ autoIncrementProperty.Name + " = (" + ClassUtility.ConvertColumnTypeToCsType(autoIncrementProperty.GetColumnMap().DataType) + ") (long) insertedId;"); } }
public virtual void GetListPropertySubselectAndAlias(IPropertyMap propertyMap, object hash, Hashtable columns, ArrayList order, string propPath, string suggestion) { if (hash == null) { hash = propertyMap; } ITableMap listTableMap = propertyMap.MustGetTableMap(); ITableMap parentTableMap = propertyMap.ClassMap.MustGetTableMap(); SqlTableAlias parentTable = sqlEmitter.GetTableAlias(parentTableMap, hash); SqlSelectStatement subSelect = new SqlSelectStatement(parentTableMap.SourceMap); //Hmmm....can an alias be redefined in a subselect? //SqlTableAlias listTable = subSelect.GetSqlTableAlias(listTableMap, "cnt" + subSelect.GetNextTableAliasIndex()); SqlTableAlias listTable = subSelect.GetSqlTableAlias(listTableMap, "cnt" + sqlEmitter.Select.GetNextTableAliasIndex()); SqlCountFunction count = new SqlCountFunction(); subSelect.SqlSelectClause.AddSqlAliasSelectListItem(count); subSelect.SqlFromClause.AddSqlAliasTableSource(listTable); foreach (IColumnMap fkIdColumnMap in propertyMap.GetAllIdColumnMaps()) { IColumnMap idColumnMap = fkIdColumnMap.MustGetPrimaryKeyColumnMap(); SqlColumnAlias fkIdColumn = listTable.GetSqlColumnAlias(fkIdColumnMap); SqlColumnAlias idColumn = parentTable.GetSqlColumnAlias(idColumnMap); SqlSearchCondition search = subSelect.SqlWhereClause.GetNextSqlSearchCondition(); search.GetSqlComparePredicate(fkIdColumn, SqlCompareOperatorType.Equals, idColumn); } if (suggestion == "") { suggestion = propPath; } SqlAliasSelectListItem countAlias = this.sqlEmitter.Select.SqlSelectClause.AddSqlAliasSelectListItem(subSelect, suggestion); this.sqlEmitter.PropertyColumnMap[propPath] = countAlias.SqlExpressionAlias.Alias; }
public void SetColumnMetaData(string tableName, string columnName, ColumnMetaData columnMetaData, object value) { ITableMap tableMap = GetDomainMap().GetSourceMap().MustGetTableMap(tableName); IColumnMap columnMap = tableMap.MustGetColumnMap(columnName); switch (columnMetaData) { case ColumnMetaData.PrimaryKey: SetPrimaryKey(columnMap, (bool)value); break; case ColumnMetaData.Nullable: SetAllowNulls(columnMap, (bool)value); break; case ColumnMetaData.AutoIncreaser: SetAutoIncreaser(columnMap, (bool)value); break; default: throw new Exception("Unknown column meta data type" + columnMetaData.ToString()); } }
public override void Copy(IMap mapObject) { IColumnMap columnMap = (IColumnMap)mapObject; columnMap.AllowNulls = this.AllowNulls; columnMap.DataType = this.DataType; columnMap.Format = this.Format; columnMap.IsAutoIncrease = this.IsAutoIncrease; columnMap.IsForeignKey = this.IsForeignKey; columnMap.IsPrimaryKey = this.IsPrimaryKey; columnMap.Length = this.Length; columnMap.Name = this.Name; columnMap.Increment = this.Increment; columnMap.Seed = this.Seed; columnMap.DefaultValue = this.DefaultValue; columnMap.Precision = this.Precision; columnMap.Scale = this.Scale; columnMap.ForeignKeyName = this.ForeignKeyName; columnMap.PrimaryKeyColumn = this.PrimaryKeyColumn; columnMap.PrimaryKeyTable = this.PrimaryKeyTable; columnMap.Sequence = this.Sequence; columnMap.IsFixedLength = this.IsFixedLength; columnMap.SpecificDataType = this.SpecificDataType; }
public virtual void SetIdColumnMap(IColumnMap value) { m_IdColumn = value.Name; }
public string GetPropertyNameFromColumn(IColumnMap columnMap) { return(TableToClassName(columnMap.Name)); }
protected virtual void DoDeepCopy(IColumnMap columnMap) { }
protected virtual string SerializeColumnMap(IColumnMap columnMap) { StringBuilder xml = new StringBuilder(); xml.Append(" <column name=\"" + columnMap.Name + "\""); // do not localize if (columnMap.IsPrimaryKey) { xml.Append(" primary=\"true\""); } xml.Append(" type=\"" + columnMap.DataType.ToString() + "\""); // do not localize xml.Append(" prec=\"" + columnMap.Precision + "\""); // do not localize if (columnMap.AllowNulls) { xml.Append(" allow-null=\"true\""); } xml.Append(" length=\"" + columnMap.Length + "\""); // do not localize xml.Append(" scale=\"" + columnMap.Scale + "\""); // do not localize if (columnMap.IsFixedLength) { xml.Append(" fixed-length=\"true\""); } if (columnMap.IsForeignKey) { xml.Append(" foreign=\"true\""); if (columnMap.PrimaryKeyTable.Length > 0) { xml.Append(" primary-table=\"" + columnMap.PrimaryKeyTable + "\""); // do not localize } if (columnMap.PrimaryKeyColumn.Length > 0) { xml.Append(" primary-column=\"" + columnMap.PrimaryKeyColumn + "\""); // do not localize } if (columnMap.ForeignKeyName.Length > 0) { xml.Append(" foreign-key=\"" + columnMap.ForeignKeyName + "\""); // do not localize } } if (columnMap.Sequence.Length > 0) { xml.Append(" sequence=\"" + columnMap.Sequence + "\""); // do not localize } if (columnMap.IsAutoIncrease) { xml.Append(" auto-inc=\"true\""); xml.Append(" seed=\"" + columnMap.Seed + "\""); // do not localize xml.Append(" inc=\"" + columnMap.Increment + "\""); // do not localize } if (columnMap.DefaultValue.Length > 0) { xml.Append(" default=\"" + columnMap.DefaultValue + "\""); // do not localize } if (columnMap.Format.Length > 0) { xml.Append(" format=\"" + columnMap.Format + "\""); // do not localize } if (columnMap.SpecificDataType.Length > 0) { xml.Append(" specific-type=\"" + columnMap.SpecificDataType + "\""); // do not localize } if (columnMap.MetaData.Count > 0) { xml.Append(">\r\n"); xml.Append(SerializeMetaData(columnMap.MetaData, " ")); xml.Append(" </column>\r\n"); // do not localize } else { xml.Append(" />\r\n"); // do not localize } return xml.ToString(); }
public virtual ArrayList GetPropertyMapsForColumn(IColumnMap columnMap) { return GetPropertyMapsForColumn(columnMap, false); }
public virtual void Visit(IColumnMap columnMap) { VerifyColumnMap(columnMap); }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap, string alias, string tableAlias) { SqlTableAlias sqlTableAlias = GetSqlTableAlias(columnMap.TableMap, tableAlias); SqlColumnAlias sqlColumnAlias = FindSqlColumnAlias(sqlTableAlias, columnMap.Name, alias, tableAlias) ; if (sqlColumnAlias == null) { SqlColumn sqlColumn = GetSqlColumn(columnMap); sqlColumnAlias = new SqlColumnAlias(sqlTableAlias, sqlColumn, alias) ; } return sqlColumnAlias; }
public void Visit(IColumnMap columnMap) { ; }
protected override string GetParameterName(IPropertyMap propertyMap, IColumnMap columnMap, string prefix) { string name = prefix; name = name + propertyMap.Name; name = name + "_" + columnMap.Name; name = ":" + name; return name; }
public IPropertyMap MustGetPropertyMapForColumnMap(IColumnMap columnMap) { throw new Exception("The method or operation is not implemented."); }
public virtual SqlColumnAlias GetPropertyColumnAlias(SqlTableAlias tableAlias, string propertyPath, IColumnMap columnMap, string suggestion) { return(sqlEmitter.GetColumnAlias(tableAlias, columnMap, propertyPath, GetAliasSuggestionFromPropertyPath(propertyPath, suggestion))); }
public virtual void GetPropertyColumnNamesAndAliases(IPropertyMap propertyMap, object hash, Hashtable columns, ArrayList order, string path, string propPath, string suggestion) { if (hash == null) { hash = propertyMap; } SqlTableAlias tbl = sqlEmitter.GetTableAlias(propertyMap.MustGetTableMap(), hash); IList columnAliases = new ArrayList(); if (propertyMap.IsIdentity) { IClassMap classMap = propertyMap.ClassMap; IColumnMap typeColumnMap = classMap.GetTypeColumnMap(); if (typeColumnMap != null) { string pathParent = GetPathParent(path); string suggestedPath = pathParent.Length == 0 ? "NPersistTypeColumn" : pathParent + ".NPersistTypeColumn"; SqlColumnAlias column = GetPropertyColumnAlias(tbl, suggestedPath, typeColumnMap, suggestedPath); columnAliases.Add(column); } } if (suggestion == "") { suggestion = propPath; } // bool hasTypeColumn = false; IPropertyMap inverse = propertyMap.GetInversePropertyMap(); //Type column first if (inverse != null) { IColumnMap inverseTypeColumnMap = inverse.ClassMap.GetTypeColumnMap(); foreach (IColumnMap columnMap in propertyMap.GetAllColumnMaps()) { if (inverseTypeColumnMap != null && inverseTypeColumnMap == columnMap.GetPrimaryKeyColumnMap()) { string suggestionString; suggestionString = propPath.Length == 0 ? "NPersistTypeColum" : propPath + ".NPersistTypeColumn"; SqlColumnAlias column = GetPropertyColumnAlias(tbl, path, columnMap, suggestionString); columnAliases.Add(column); } } } foreach (IColumnMap columnMap in propertyMap.GetAllColumnMaps()) { if (inverse != null) { IColumnMap inverseTypeColumnMap = inverse.ClassMap.GetTypeColumnMap(); if (inverseTypeColumnMap != null && inverseTypeColumnMap == columnMap.GetPrimaryKeyColumnMap()) { continue; } } string suggestionString; suggestionString = suggestion; SqlColumnAlias column = GetPropertyColumnAlias(tbl, path, columnMap, suggestionString); columnAliases.Add(column); } foreach (SqlColumnAlias column in columnAliases) { if (!(columns.ContainsKey(column))) { columns[column] = column; order.Add(column); //Note: Important stuff, right here in nowhere-ville!! if (this.sqlEmitter.PropertyColumnMap.ContainsKey(propPath)) { ArrayList arrAliases; if (this.sqlEmitter.PropertyColumnMap[propPath] is string) { arrAliases = new ArrayList(); arrAliases.Add(this.sqlEmitter.PropertyColumnMap[propPath]); this.sqlEmitter.PropertyColumnMap[propPath] = arrAliases; } else { arrAliases = (ArrayList)this.sqlEmitter.PropertyColumnMap[propPath]; } arrAliases.Add(column.Alias); } else { this.sqlEmitter.PropertyColumnMap[propPath] = column.Alias; } } } }
public virtual IPropertyMap MustGetPropertyMapForColumnMap(IColumnMap columnMap) { IPropertyMap propertyMap = GetPropertyMapForColumnMap(columnMap); if (propertyMap == null) throw new MappingException("Could not find any property mapping to column " + columnMap.TableMap.Name + "." + columnMap.Name + " in the type " + this.GetFullName() + " in map file!"); return propertyMap; }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap, string alias) { if (columnMap == null) throw new ArgumentNullException("columnMap"); SqlColumnAlias sqlColumnAlias = FindSqlColumnAlias(columnMap.Name, alias) ; if (sqlColumnAlias == null) { SqlColumn sqlColumn = this.SqlTable.GetSqlColumn(columnMap); sqlColumnAlias = new SqlColumnAlias(this, sqlColumn, alias) ; } return sqlColumnAlias; }
public SqlColumn(SqlTable sqlTable, IColumnMap columnMap) { this.Parent = sqlTable; this.columnMap = columnMap; sqlTable.SqlColumns.Add(this); }
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 } } }
public SqlOrderByItem AddSqlOrderByItem(IColumnMap columnMap) { return(AddSqlOrderByItem(columnMap, false)); }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap, string alias, string tableAlias) { return this.sqlDatabase.GetSqlColumnAlias(columnMap, alias, tableAlias); }
public ParameterBuilder(IColumnMap columnMap, IParameterFactory parameterFactory) { _columnMap = columnMap; _parameterFactory = parameterFactory; }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap) { return this.sqlDatabase.GetSqlColumnAlias(columnMap); }
public virtual ArrayList GetPropertyMapsForColumn(IColumnMap columnMap, bool noIdColumns) { ArrayList listPropertyMaps = new ArrayList(); bool found = false; foreach (IClassMap classMap in m_ClassMaps) { foreach (IPropertyMap propertyMap in classMap.GetNonInheritedPropertyMaps()) { if (propertyMap.GetColumnMap() == columnMap) { listPropertyMaps.Add(propertyMap); } else if (propertyMap.GetIdColumnMap() == columnMap) { if (!(noIdColumns)) { listPropertyMaps.Add(propertyMap); } } else { foreach (IColumnMap testColumnMap in propertyMap.GetAdditionalColumnMaps()) { if (testColumnMap == columnMap) { listPropertyMaps.Add(propertyMap); found = true; break; } } if (!(noIdColumns)) { if (!(found)) { foreach (IColumnMap testColumnMap in propertyMap.GetAdditionalIdColumnMaps()) { if (testColumnMap == columnMap) { listPropertyMaps.Add(propertyMap); break; } } } } } } } return listPropertyMaps; }
public virtual SqlColumnAlias GetPropertyColumnAlias(SqlTableAlias tableAlias, string propertyPath, IColumnMap columnMap, string suggestion) { return sqlEmitter.GetColumnAlias(tableAlias, columnMap, propertyPath, GetAliasSuggestionFromPropertyPath(propertyPath, suggestion)) ; }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap, string alias) { return GetSqlColumnAlias(columnMap, alias, columnMap.TableMap.Name); }
public SqlColumnAlias GetColumnAlias(SqlTableAlias tableAlias, IColumnMap columnMap, object hash, string suggestion) { string alias; if (hash is IPropertyMap) { if (((IPropertyMap) hash).ClassMap == this.rootClassMap || ((IPropertyMap) hash).ClassMap == this.baseClassMap) { hash = this.baseClassMap; } } else if (hash is TableJoin) { hash = ((TableJoin) hash).GetPropertyPath(); } else if (hash is string) { if (((string)hash).Length < 1) { hash = this.baseClassMap; } } if (!columnAliases.Contains(columnMap)) { columnAliases[columnMap] = new Hashtable(); } Hashtable propertyColumnAliases = (Hashtable) columnAliases[columnMap]; if (propertyColumnAliases.Contains(hash)) { alias = (string) propertyColumnAliases[hash]; return tableAlias.GetSqlColumnAlias(columnMap, alias); } if (suggestion.Length > 0) alias = suggestion; else alias = CreateColumnAlias(); propertyColumnAliases[hash] = alias; return tableAlias.GetSqlColumnAlias(columnMap, alias); }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap) { return GetSqlColumnAlias(columnMap, "", columnMap.TableMap.Name); }
public SqlColumn GetSqlColumn(IColumnMap columnMap) { return this.sqlDatabase.GetSqlColumn(columnMap); }
public override bool Compare(IMap compareTo) { if (compareTo == null) { return(false); } IColumnMap columnMap = (IColumnMap)compareTo; if (!(columnMap.AllowNulls == this.AllowNulls)) { return(false); } if (!(columnMap.DataType == this.DataType)) { return(false); } if (!(columnMap.Format == this.Format)) { return(false); } if (!(columnMap.IsAutoIncrease == this.IsAutoIncrease)) { return(false); } if (!(columnMap.IsForeignKey == this.IsForeignKey)) { return(false); } if (!(columnMap.IsPrimaryKey == this.IsPrimaryKey)) { return(false); } if (!(columnMap.Length == this.Length)) { return(false); } if (!(columnMap.Name == this.Name)) { return(false); } if (!(columnMap.Increment == this.Increment)) { return(false); } if (!(columnMap.Seed == this.Seed)) { return(false); } if (!(columnMap.DefaultValue == this.DefaultValue)) { return(false); } if (!(columnMap.Precision == this.Precision)) { return(false); } if (!(columnMap.Scale == this.Scale)) { return(false); } if (!(columnMap.ForeignKeyName == this.ForeignKeyName)) { return(false); } if (!(columnMap.PrimaryKeyColumn == this.PrimaryKeyColumn)) { return(false); } if (!(columnMap.PrimaryKeyTable == this.PrimaryKeyTable)) { return(false); } if (!(columnMap.Sequence == this.Sequence)) { return(false); } if (!(columnMap.IsFixedLength == this.IsFixedLength)) { return(false); } if (!(columnMap.SpecificDataType == this.SpecificDataType)) { return(false); } return(true); }
public SqlOrderByItem AddSqlOrderByItem(IColumnMap columnMap, bool descending) { SqlColumnAlias sqlColumnAlias = this.SqlStatement.GetSqlColumnAlias(columnMap); SqlColumnAliasReference sqlColumnAliasReference = new SqlColumnAliasReference(sqlColumnAlias); return AddSqlOrderByItem(sqlColumnAliasReference, descending); }
public virtual void SetTypeColumnMap(IColumnMap value) { m_TypeColumn = value.Name; }
public SqlOrderByItem AddSqlOrderByItem(IColumnMap columnMap) { return AddSqlOrderByItem(columnMap, false); }
public virtual IPropertyMap GetPropertyMapForColumnMap(IColumnMap columnMap) { IColumnMap testColumnMap; foreach (IPropertyMap propertyMap in this.GetAllPropertyMaps()) { testColumnMap = propertyMap.GetColumnMap(); if (testColumnMap != null) { if (testColumnMap == columnMap) { return propertyMap; } } testColumnMap = propertyMap.GetIdColumnMap(); if (testColumnMap != null) { if (testColumnMap == columnMap) { return propertyMap; } } foreach (IColumnMap checkColumnMap in propertyMap.GetAdditionalColumnMaps()) { if (checkColumnMap == columnMap) { return propertyMap; } } foreach (IColumnMap checkColumnMap in propertyMap.GetAdditionalIdColumnMaps()) { if (checkColumnMap == columnMap) { return propertyMap; } } } return null; }
public void SetTypeColumnMap(IColumnMap value) { throw new Exception("The method or operation is not implemented."); }
protected override string GetParameterName(IPropertyMap propertyMap, IColumnMap columnMap) { return GetParameterName(propertyMap, columnMap, ""); }
private static string GetParameter(IColumnMap columnMap) { return "@" + columnMap.ColumnName; }
private IParameterBuilder CreateParameterBuilder(object source, IColumnMap columnMap) { var value = PropertyGetter.Create(source.GetType(), columnMap.PropertyName).Get(source); var parameterFactory = value as IParameterFactory ?? new SingleParameterFactory("=", value); return new ParameterBuilder(columnMap, parameterFactory); }
public SqlColumnAlias GetSqlColumnAlias(IColumnMap columnMap) { return GetSqlColumnAlias(columnMap, ""); }