Заполните набор данных данными, например, сохраненной командой proc
DbDataAdapter adapter = DbProviderFactories.GetFactory(cmd.Connection).CreateDataAdapter();
adapter.SelectCommand = cmd;
DataSet ds = new DataSet();
adapter.Fill(ds);
Get The Schema,
string s = ds.GetXmlSchema();
сохраните ее в файле, например: datasetSchema.xsd. Сгенерируйте классы C # для схемы: (в командной строке VS)
xsd datasetSchema.xsd /c
Теперь, когда вам нужно преобразовать данные DataSet в классы, вы можете десериализовать (имя по умолчанию, присвоенное порожденному корневому классу это NewDataSet):
public static T Create<T>(string xml)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StringReader reader = new StringReader(xml))
{
T t = (T)serializer.Deserialize(reader);
reader.Close();
return t;
}
}
var xml = ds.GetXml();
var dataSetObjects = Create<NewDataSet>(xml);