# C1.AdoNet.Salesforce.C1SalesforceDataReader

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_AdoNet_Salesforce_C1SalesforceDataReader" data-uid="C1.AdoNet.Salesforce.C1SalesforceDataReader" class="text-break">C1SalesforceDataReader Class
</h1>
  <div class="markdown level0 summary"><p><a class="xref" href="C1.AdoNet.Salesforce.C1SalesforceDataReader.html">C1SalesforceDataReader</a> Salesforce implementation of DbDataReader.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.marshalbyrefobject">MarshalByRefObject</a></div>
    <div class="level2"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.common.dbdatareader">DbDataReader</a></div>
    <div class="level3"><a class="xref" href="../C1.DataConnector/C1.DataConnector.C1DataReaderBase.html">C1DataReaderBase</a></div>
    <div class="level4"><a class="xref" href="../C1.AdoNet.CSV/C1.DataConnector.AdoNet.C1DataReader.html">C1DataReader</a></div>
    <div class="level5"><span class="xref">C1SalesforceDataReader</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.idatareader">IDataReader</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.data.idatarecord">IDataRecord</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.ienumerable">IEnumerable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iasyncdisposable">IAsyncDisposable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.AdoNet.Salesforce.html">C1.AdoNet.Salesforce</a></h6>
  <h6><strong>Assembly</strong>: C1.AdoNet.Salesforce.dll</h6>
  <h5 id="C1_AdoNet_Salesforce_C1SalesforceDataReader_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class C1SalesforceDataReader : C1DataReader, IDataReader, IDisposable, IDataRecord, IEnumerable, IAsyncDisposable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class C1SalesforceDataReader
    Inherits C1DataReader
    Implements IDataReader, IDisposable, IDataRecord, IEnumerable, IAsyncDisposable</code></pre>
  </div>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_AdoNet_Salesforce_C1SalesforceDataReader_GetSchemaTable" data-uid="C1.AdoNet.Salesforce.C1SalesforceDataReader.GetSchemaTable">
          <a class="xref" href="C1.AdoNet.Salesforce.C1SalesforceDataReader.GetSchemaTable.html#C1_AdoNet_Salesforce_C1SalesforceDataReader_GetSchemaTable">GetSchemaTable()</a>
        </td>
        <td class="markdown level1 summary"><p>Schema information in Salesforce is difficult to map into .NET conventions, so a
lot of work must be done to gather the necessary information so it can be represented
in an ADO.NET manner.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
