C #: ¿Qué más usas además de DataSet?

Me encuentro cada vez más insatisfecho con el paradigma DataSet / DataTable / DataRow en .Net, principalmente porque a menudo son un par de pasos más complicados de lo que realmente quiero hacer. En los casos en los que estoy vinculado a los controles, los conjuntos de datos están bien. Pero en otros casos, parece haber una gran cantidad de sobrecarga mental.

He jugado un poco con SqlDataReader, y eso parece ser bueno para excursiones simples a través de una selección, pero creo que puede haber otros modelos al acecho en .Net que son útiles para aprender más. Siento que toda la ayuda que encuentro en esto solo usa DataSet por defecto. Tal vez eso y DataReader realmente son las mejores opciones.

No estoy buscando un mejor / peor desglose, solo curiosidad por cuáles son mis opciones y qué experiencias has tenido con ellas. ¡Gracias!

-Eric Sipple