Ejemplo n.º 1
0
        /// <summary>
        /// resolve sql.
        /// </summary>
        /// <param name="sqlResolver"></param>
        /// <param name="sqlId"></param>
        /// <param name="sqlParam">support plain object or idictionary</param>
        /// <returns></returns>
        public static ResolveResult Resolve(this ISqlResolver sqlResolver, string sqlId, object sqlParam)
        {
            if (sqlParam == null)
            {
                return(sqlResolver.Resolve(sqlId, null));
            }

            var dictionaryParam = sqlParam as IEnumerable <KeyValuePair <string, object> >;

            if (dictionaryParam == null)
            {
                dictionaryParam = sqlParam.GetType()
                                  .GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance)
                                  .Select(propInfo => new KeyValuePair <string, object>(propInfo.Name, propInfo.GetValue(sqlParam, null)));
            }

            return(sqlResolver.Resolve(sqlId, dictionaryParam.ToDictionary(item => item.Key, item => item.Value)));
        }
Ejemplo n.º 2
0
 public static ResolveResult Resolve(this ISqlResolver sqlResolver, string sqlId)
 {
     return(sqlResolver.Resolve((string)null, sqlId, (IDictionary <string, object>)null));
 }
Ejemplo n.º 3
0
 public static ResolveResult Resolve(this ISqlResolver sqlResolver, string sqlId, object sqlParam)
 {
     return(sqlResolver.Resolve((string)null, sqlId, sqlParam));
 }