Пример #1
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="field"></param>
            /// <returns></returns>
            internal static Action <TEntity, object> Get(Field field)
            {
                var key = (long)typeof(TEntity).GetHashCode() + field.GetHashCode();

                if (cache.TryGetValue(key, out var func) == false)
                {
                    if (typeof(TEntity).IsDictionaryStringObject())
                    {
                        func = FunctionFactory.CompileDictionaryStringObjectItemSetter <TEntity>(field);
                    }
                    else
                    {
                        func = FunctionFactory.CompileDataEntityPropertySetter <TEntity>(field);
                    }
                    cache.TryAdd(key, func);
                }
                return(func);
            }