public NonIdentityColumnConfiguration BuildColumnConfiguration <T, K>(Expression <Func <T, K> > func, ColumnConfigurationSettings <K> columnConfigurationSettings) { if (func.Body.NodeType == ExpressionType.MemberAccess) { var memberInfo = ReflectionHelper.GetMemberInfoFromLambda(func); var fullPropertyPath = ReflectionHelper.GetMemberRelativePathNameFromLambda(func); return(new MemberColumnConfiguration(memberInfo, columnConfigurationSettings.Ordinal, columnConfigurationSettings.ColumnName, columnConfigurationSettings.NullReplacement, fullPropertyPath)); } var delegateSettings = new DelegateSettings(func.Compile()); return(new DelegateColumnConfiguration(delegateSettings, columnConfigurationSettings.Ordinal, columnConfigurationSettings.ColumnName, columnConfigurationSettings.NullReplacement)); }
/// <summary> /// Adds a column configuration to a translation /// </summary> /// <typeparam name="KColumnDataType">>Data type for the column</typeparam> /// <param name="func">Expression that will be evaluated to get the value for the column</param> /// <param name="configurationSettings">Additional configuration settings for the column</param> /// <returns>Translation expression used to add column configurations to a translation</returns> public TranslationExpression <TTranslationDataType> AddColumnConfiguration <KColumnDataType>(Expression <Func <TTranslationDataType, KColumnDataType> > func, ColumnConfigurationSettings <KColumnDataType> configurationSettings) { configurationSettings.Ordinal = this.NextOrdinal; AddExplicitColumnConfiguration(this._colConfigBuilder.BuildColumnConfiguration(func, configurationSettings)); return(this); }
public NonIdentityColumnConfiguration BuildColumnConfiguration <T>(T value, ColumnConfigurationSettings <T> columnConfigurationSettings) { return(new SimpleValueColumnConfiguration(value, value?.GetType() ?? typeof(T), columnConfigurationSettings.Ordinal, columnConfigurationSettings.ColumnName, columnConfigurationSettings.NullReplacement)); }