public ITableInfoBuilder <T> SetTableName() { var a = _t.GetCustomAttributes <TableAttribute>(true).ToArray(); _tableInfo.TableName = a.Length == 0 ? _namingConvention.ConvertToDbName(_t.Name) : a[0]?.Name; _tableInfo.TableSchema = a.Length == 0 ? _namingConvention.ConvertToDbName(_t.Namespace.Split('.').LastOrDefault()) : a[0]?.Schema; _tableInfo.FullTableName = $"{_tableInfo.TableSchema}.{_tableInfo.TableName}"; return(this); }
private string GetSchemaName(TableAttribute tableAttribute) { if (!string.IsNullOrWhiteSpace(tableAttribute?.Schema)) { return(tableAttribute?.Schema); } if (!string.IsNullOrWhiteSpace(_dbOptions.DefaultSchema)) { return(_dbOptions.DefaultSchema); } return(_namingConvention.ConvertToDbName(_t.Namespace.Split('.').LastOrDefault())); }
void PopulateParameters(IDbCommand cmd, string sql, object parameters = null) { cmd.Parameters.Clear(); cmd.CommandText = sql; if (parameters == null) { return; } if (cmd.CommandType == CommandType.StoredProcedure) { foreach (var propName in ReflectionUtilities.GetProperties(parameters)) { cmd.Parameters.Add(GetParam(cmd, _namingConvention.ConvertToDbName(propName), ReflectionUtilities.GetPropertyValue <object>(propName, parameters))); } } else { var sqlParams = _paramParser.GeSqlParams(sql); foreach (var sqlParam in sqlParams) { var cleanParam = _paramParser.CleanParameter(sqlParam); var pocoNme = _namingConvention.ConvertToPocoName(cleanParam); var paramValue = ReflectionUtilities.GetPropertyValue <object>(pocoNme, parameters) ?? DBNull.Value; var parameter = GetParam(cmd, cleanParam, paramValue); cmd.Parameters.Add(parameter); } } }
public string GetStoredProcParamsNameValuesOnlySql(object obj) { var paramsSql = string.Empty; if (obj != null) { var properties = obj.GetType().GetProperties().OrderBy(x => x.Name); var paramNameValues = new List <string>(); foreach (var info in properties) { paramNameValues.Add($"{_namingConvention.ConvertToDbName(info.Name)} => {AddParamIdentifier(_namingConvention.ConvertToDbName(info.Name))}"); } paramsSql = string.Join(",", paramNameValues); } return(paramsSql); }