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()); }