public override T Retrieve <T>(Entity entity)
        {
            var lstResult = dao.ExecuteQueryProcedure(mapper.GetRetrieveStatement(entity));
            var dic       = new Dictionary <string, object>();

            if (lstResult.Count > 0)
            {
                dic = lstResult[0];
                var objs = mapper.BuildObject(dic);
                return((T)Convert.ChangeType(objs, typeof(T)));
            }

            return(default(T));
        }