У меня есть документ XML и таблица SQL (MS 2005), из которой я сгенерировал два набора данных. Наборы данных имеют разные схемы, причем таблица SQL в основном является подмножеством XML. Я получаю данные в БД следующим образом:
dataSet.ReadXml(xmlStream);
var ta = new TableAdapter();
foreach( var r in dataSet.Tables["MyTable"].Rows )
{
ta.Insert( DateTime.Parse(r["date1"].ToString()),
int.Parse(r["num"].ToString() ),
DateTime.Parse(r["date2"].ToString()),
DateTime.Parse(r["date3"].ToString())
);
}
Я довольно соблазнен передачей полного XML в базу данных и выполнением работы там, но я уверен, что должен быть более точный способ сопоставить столбцы между двумя наборами данных и скопировать данные в коде (особенно не необходимость конвертировать datetime в строки и обратно обратно в datetime. Кто-нибудь получил какие-либо предложения?