public static Message MySqlSelect(this Message message, MySqlConnectionConfig config, string selectStatement) { var adapter = new MySqlDataAdapter(selectStatement, config.ToConnectionString()); var dataSet = new DataSet(); adapter.Fill(dataSet, "ResultTable"); var result = new XDocument(new XElement("MySqlSelectResult")); foreach (DataTable table in dataSet.Tables) { var doc = new XElement(table.TableName); foreach (DataRow row in table.Rows) { foreach (DataColumn column in table.Columns) { doc.Add(new XElement(column.ColumnName, row[column.Ordinal].ToString())); } } result.Root.Add(doc); } message.SetPayload(result.ToString()); return(message); }