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);
        }
Exemple #2
0
 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()));
 }
Exemple #3
0
 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);
         }
     }
 }
Exemple #4
0
        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);
        }