Torna al Thread
public virtual void Load(IDataReader reader, LoadOption loadOption, FillErrorEventHandler errorHandler)
{
IntPtr ptr;
Bid.ScopeEnter(out ptr, "<ds.DataTable.Load|API> %d#, loadOption=%d{ds.LoadOption}\n", this.ObjectID, (int) loadOption);
try
{
if (this.PrimaryKey.Length == 0)
{
DataTableReader reader2 = reader as DataTableReader;
if ((reader2 != null) && (reader2.CurrentDataTable == this))
{
return;
}
}
LoadAdapter adapter = new LoadAdapter();
adapter.FillLoadOption = loadOption;
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
if (errorHandler != null)
{
adapter.FillError += errorHandler;
}
adapter.FillFromReader(new DataTable[] { this }, reader, 0, 0);
if (!reader.IsClosed && !reader.NextResult())
{
reader.Close();
}
}
finally
{
Bid.ScopeLeave(ref ptr);
}
}