Я использовал типизированные и нетипизированные DataSets, DataViewManager, DataViews, DataTables, DataRows, DataRowViews и почти все, что вы можете сделать со стеком, поскольку он впервые появился в нескольких корпоративных проектах. Мне потребовалось некоторое время, чтобы привыкнуть к тому, как это позволяло. Я написал пользовательские компоненты, которые используют стек, так как ADO.NET не совсем дал мне то, что мне действительно нужно. Один из таких компонентов сравнивает DataSets, а затем обновляет внутренние хранилища. Я действительно знаю, как все эти элементы работают хорошо, и те, кто видел то, что я сделал, очень впечатлены тем, что мне удалось выйти за пределы того, что я чувствую, что это было полезно только для демонстрационного использования.
Я использую привязку ADO.NET в Winforms, а также использую код в консольных приложениях. Совсем недавно я сотрудничал с другим разработчиком, чтобы создать собственный ORM, который мы использовали против сумасшедшей модели данных, которую нам давали подрядчики, которые не имели ничего общего с нашими обычными хранилищами данных.
Сегодня я искал замену ADO.NET, и я не вижу ничего, что я должен серьезно попытаться научить заменять то, что я сейчас использую.