Ejemplo n.º 1
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="reader"></param>
            /// <param name="dbFields"></param>
            /// <param name="dbSetting"></param>
            /// <returns></returns>
            internal static Func <DbDataReader, dynamic> Get(DbDataReader reader,
                                                             IEnumerable <DbField> dbFields = null,
                                                             IDbSetting dbSetting           = null)
            {
                var key = GetKey(reader);

                if (cache.TryGetValue(key, out var result) == false)
                {
                    result = FunctionFactory.CompileDataReaderToExpandoObject(reader, dbFields, dbSetting);
                    cache.TryAdd(key, result);
                }
                return(result);
            }
Ejemplo n.º 2
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="reader"></param>
            /// <param name="tableName"></param>
            /// <param name="connection"></param>
            /// <param name="transaction"></param>
            /// <returns></returns>
            internal static Func <DbDataReader, ExpandoObject> Get(DbDataReader reader,
                                                                   string tableName,
                                                                   IDbConnection connection,
                                                                   IDbTransaction transaction)
            {
                var result = (Func <DbDataReader, ExpandoObject>)null;
                var key    = GetKey(reader, tableName, connection);

                if (cache.TryGetValue(key, out result) == false)
                {
                    result = FunctionFactory.CompileDataReaderToExpandoObject(reader, tableName, connection, transaction);
                    cache.TryAdd(key, result);
                }
                return(result);
            }