private void ProcessTableAdapter (XmlElement el, DbProviderFactory provider, string connStr)
{
XmlElement e;
string datasetTableName = null;
if (el == null)
return;
// #325464 debugging
//Console.WriteLine ("in ProcessTableAdapters...");
currentAdapter = new TableAdapterSchemaInfo (provider);
currentAdapter.ConnectionString = connStr;
//Console.WriteLine ("Provider: {0}, connection: {1}, adapter: {2}",
// provider, currentAdapter.Connection, currentAdapter.Adapter);
currentAdapter.BaseClass = el.GetAttribute ("BaseClass");
datasetTableName = el.GetAttribute ("Name");
currentAdapter.Name = el.GetAttribute ("GeneratorDataComponentClassName");
if (String.IsNullOrEmpty (currentAdapter.Name))
currentAdapter.Name = el.GetAttribute ("DataAccessorName");
//Console.WriteLine ("Name: "+currentAdapter.Name);
foreach (XmlNode n in el.ChildNodes) {
e = n as XmlElement;
//Console.WriteLine ("Children of Tables: "+e.LocalName);
if (e == null)
continue;
switch (e.LocalName) {
case "MainSource":
case "Sources":
foreach (XmlNode msn in e.ChildNodes)
ProcessDbSource (msn as XmlElement);
break;
case "Mappings":
DataTableMapping tableMapping = new DataTableMapping ();
tableMapping.SourceTable = "Table";
tableMapping.DataSetTable = datasetTableName;
foreach (XmlNode mps in e.ChildNodes)
ProcessColumnMapping (mps as XmlElement, tableMapping);
currentAdapter.Adapter.TableMappings.Add (tableMapping);
break;
}
}
}