private void AddExplicitColumnConfiguration(NonIdentityColumnConfiguration config) { if (config == null) { throw new ArgumentNullException(nameof(config)); } this.Translation.AddColumnConfiguration(config); }
protected static DataColumn BuildDataColumn(TranslationBase translation, NonIdentityColumnConfiguration colConfig) { return(new DataColumn( BuildFullColumnName(colConfig.ColumnName, translation), colConfig.ColumnDataType.GetPureType()) // will get the "underlying" type for nullable valye types (e.g. int?) if needed { AllowDBNull = colConfig.ColumnDataType.IsNullAssignable() }); }
internal void AddColumnConfiguration(NonIdentityColumnConfiguration config) { if (this.ColumnConfigurations.Any(cc => cc.Ordinal == config.Ordinal)) { throw new TableTranslatorConfigurationException( $"Duplicate ordinal value ({config.Ordinal}). This translation already has a column configuration with this ordinal.", this.TranslationProfile); } if (this.ColumnConfigurations.Any(cc => cc.ColumnName == config.ColumnName)) { throw new TableTranslatorConfigurationException( $"Duplicate column name ({config.ColumnName}). This translation already has a column configuration with this column name.", this.TranslationProfile); } this.ColumnConfigurations.Add(config); }
internal override object GetColumnValue <T>(T data, NonIdentityColumnConfiguration colConfig) { return(colConfig.GetValueFromObject(data) ?? colConfig.NullReplacement); }
internal abstract object GetColumnValue <T>(T data, NonIdentityColumnConfiguration colConfig) where T : new();