public override List <T> RetrieveAll <T>() { var lstContact = new List <T>(); var lstResult = dao.ExecuteQueryProcedure(mapper.GetRetrieveAllStatement()); var dic = new Dictionary <string, object>(); if (lstResult.Count > 0) { var objs = mapper.BuildObjects(lstResult); foreach (var c in objs) { lstContact.Add((T)Convert.ChangeType(c, typeof(T))); } } return(lstContact); }