Querying with the DataReader
The CData ADO.NET Provider for REST implements two ADO.NET interfaces you can use to retrieve data from REST: RESTDataAdapter and RESTDataReader objects. Whereas RESTDataAdapter objects retrieve a single result set of all the data that matches a query, RESTDataReader objects fetch data in subset increments as needed.
Using the RESTDataReader
The RESTDataReader retrieves data faster than the RESTDataAdapter because it can retrieve data in pages. As you read data from the RESTDataReader, it periodically requests the next page of results from the data source, if required. This causes results to be returned at a faster rate. The following example selects all the columns from the NorthwindOData table:
C#
string connectionString = "DataModel=Relational;URI=C:\people.xml;Format=XML"; using (RESTConnection connection = new RESTConnection(connectionString)) { RESTCommand cmd = new RESTCommand("SELECT * FROM NorthwindOData", connection); RESTDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["personal.name.first"], rdr["personal.name.last"])); } }
VB.NET
Dim connectionString As String = "DataModel=Relational;URI=C:\people.xml;Format=XML" Using connection As New RESTConnection(connectionString) Dim cmd As New RESTCommand("SELECT * FROM NorthwindOData", connection) Dim rdr As RESTDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("personal.name.first"), rdr("personal.name.last"))) End While End Using