private static void SetCache(int maxDepth) { var cache = ProjectionExpression <TSource> .ConfigurationCache; if (cache.ContainsKey(_cacheKey)) { cache[_cacheKey].MaxDepth = maxDepth; } else { var config = new BaseProjectionConfig { MaxDepth = maxDepth }; cache.Add(_cacheKey, config); } }
private static void SetCache(params string[] ignoreMembers) { if (ignoreMembers == null || ignoreMembers.Length == 0) { return; } var cache = ProjectionExpression <TSource> .ConfigurationCache; if (cache.ContainsKey(_cacheKey)) { cache[_cacheKey].IgnoreMembers.AddRange(ignoreMembers); } else { var config = new BaseProjectionConfig(); config.IgnoreMembers.AddRange(ignoreMembers); cache.Add(_cacheKey, config); } }
private static void SetCache(params ExpressionModel[] expressionModels) { if (expressionModels == null || expressionModels.Length == 0) { return; } var cache = ProjectionExpression <TSource> .ConfigurationCache; if (cache.ContainsKey(_cacheKey)) { cache[_cacheKey].Expressions.AddRange(expressionModels); } else { var config = new BaseProjectionConfig(); config.Expressions.AddRange(expressionModels); cache.Add(_cacheKey, config); } }