Я отказался от DataReader и все такое.После написания программы пару лет назад, где я должен был предоставить всю логику для отслеживания изменений и параллелизма и отслеживания отношений, и все, что я бросил в руки, потому что это требовало много времени.
В настоящее время я использую O / RM framework;это отображение объектов / отношений.На данный момент двумя важными являются Entity Framework (моя любимая среда) и NHibernate (изначально написанная для Java, но перенесенная для .NET).Эти платформы позволяют отображать таблицы базы данных в классы .NET.Либо те, что вы пишете сами, либо сгенерированные инструментом (в случае Entity Frameworks.
EF в Visual Studio 2010 позволяет выполнять разработку Model-First и Database-First. Model-First позволяет создавать диаграммуо том, как вы хотите, чтобы ваши классы связывались друг с другом (например, класс Customer, который имеет коллекцию адресов, телефонных номеров и событий), затем генерирует базу данных для хранения этих данных. Database-First - это наоборот. Вы создаете базу данных иEF пытается создать модель, отражающую структуру базы данных, которая заботится о создании строки подключения, отслеживании изменений сущностей и параллелизме, а также представляет данные в хороших объектах, которые, на мой взгляд, создаются чертовски быстро. Лично я нашел данные EFsпоиск выполняется быстрее, чем мой собственный поиск данных и заполнение объектов.
WPF, с его возможностями привязки данных, больше ориентирован на эти объекты данных (здесь, после того как я просто назову их объектами), чем на DataReaders и DataAdaptERS.Если вы хотите погрузиться прямо в это, вот немного видео Microsoft о начале работы с EF.Также обязательно ознакомьтесь с WindowsClient.net , поскольку там тоже есть кое-что хорошее.
Позже, когда вы освоите EntityFramework, посмотрите шаблон проектирования MVVM.