コード例 #1
0
        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));
        }
コード例 #2
0
 /// <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);
 }
コード例 #3
0
 public NonIdentityColumnConfiguration BuildColumnConfiguration <T>(T value, ColumnConfigurationSettings <T> columnConfigurationSettings)
 {
     return(new SimpleValueColumnConfiguration(value, value?.GetType() ?? typeof(T), columnConfigurationSettings.Ordinal, columnConfigurationSettings.ColumnName, columnConfigurationSettings.NullReplacement));
 }