private TParameter[] GetParameterInfoFromField(T entity, PropertyInfo field)
        {
            var prms = new List <TParameter>();

            var cacheKey = field.Name + field.PropertyType.Name;

            ParameterNameCacheInfo info;

            if (ParameterNameCache.ContainsKey(cacheKey))
            {
                info = ParameterNameCache[cacheKey];
            }
            else
            {
                info = new ParameterNameCacheInfo
                {
                    ParameterName = $"prm_{field.Name.GetDelimitedName()}",
                    DbType        = _typeLookup.GetDbType(field.PropertyType)
                };
                ParameterNameCache.Add(cacheKey, info);
            }

            var valueFromProperty = GetValueFromProperty(entity, field);

            SQLExecutor.AddParameter(prms, info.ParameterName, valueFromProperty, info.DbType);

            return(prms.ToArray());
        }
        private TParameter[] GetParameterInfoFromField(T entity, PropertyInfo field)
        {
            var prms = new List <TParameter>();

            var parameterName     = _entityUtils.GetParameterNameFromPropertyName(field.Name);
            var dbType            = _typeLookup.GetDbType(field.PropertyType);
            var valueFromProperty = GetValueFromProperty(entity, field);

            SQLExecutor.AddParameter(prms, parameterName, valueFromProperty, dbType);

            return(prms.ToArray());
        }