Thanks for your response but the link you've mentioned just tells me how to get a DataReader from a dynamic list (where I can build the field list from the entity fields). What I'm after is how to get a DataReader from a view rather than a table. With a view, I have no entity fields with which to build a field list.
I could do this...
TypedListDAO dao = new TypedListDAO();
IDbCommand cmd = new SqlCommand("SELECT * FROM view_MyView");
IRetrievalQuery query = new RetrievalQuery(cmd);
return dao.GetAsDataReader(null, query, CommandBehavior.CloseConnection);
But it's not ideal. Is this my only option?