DataSet - это одна огромная дыра без типа, это должно быть меньше всего ваших забот.
Добавьте немного отражения для большей хрупкости, и вы должны быть там в течение нескольких секунд .. Это также заканчивается большим количеством кастов.
Опять плохой дизайн, столбцы могут быть чем угодно, и поэтому вы можете добавлять или извлекать любой тип любым способом, каким захотите, или ваш синтаксис будет поврежден. Вы не получаете никакой безопасности во время компиляции, просто.
Лучше наберите свои данные, а затем передайте несимметричную пыль в DataSet с помощью метода расширения. Дети XML делают то же самое для файлов XML (это просто орехи).