예제 #1
0
 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()
     });
 }
예제 #3
0
 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();