C #: o que mais você usar além do DataSet

Eu encontrei-me cada vez mais insatisfeito com o paradigma DataSet / DataTable / DataRow no .net, principalmente porque muitas vezes é um pouco mais complicado do que o que eu realmente quero fazer. Nos casos em que estou vinculando aos controles, os DataSets estão bem. Mas em outros casos, parece haver uma boa quantidade de sobrecarga mental.

Eu joguei um pouco com SqlDataReader, e isso parece ser bom para passeios simples através de um select, mas eu sinto que pode haver alguns outros modelos à espreita .Net que são úteis para aprender mais sobre. Eu sinto que toda a ajuda que eu encontro nisso apenas usa o DataSet por padrão. Talvez isso e DataReader realmente sejam as melhores opções.

Eu não estou procurando por um melhor / pior colapso, apenas curioso sobre quais são minhas opções e quais experiências você teve com elas. Obrigado!

Sipple Érico