Querying with the DataReader
The CData ADO.NET Provider for Azure Active Directory implements two ADO.NET interfaces you can use to retrieve data from Azure Active Directory: AzureADDataAdapter and AzureADDataReader objects. Whereas AzureADDataAdapter objects retrieve a single result set of all the data that matches a query, AzureADDataReader objects fetch data in subset increments as needed.
Using the AzureADDataReader
The AzureADDataReader retrieves data faster than the AzureADDataAdapter because it can retrieve data in pages. As you read data from the AzureADDataReader, 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 DirectoryRoles table:
C#
string connectionString = "InitiateOAuth=GETANDREFRESH;OAuthClientId=MyApplicationId;OAuthClientSecret=MySecretKey;CallbackURL=http://localhost:33333;"; using (AzureADConnection connection = new AzureADConnection(connectionString)) { AzureADCommand cmd = new AzureADCommand("SELECT * FROM DirectoryRoles", connection); AzureADDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["displayName"])); } }
VB.NET
Dim connectionString As String = "InitiateOAuth=GETANDREFRESH;OAuthClientId=MyApplicationId;OAuthClientSecret=MySecretKey;CallbackURL=http://localhost:33333;" Using connection As New AzureADConnection(connectionString) Dim cmd As New AzureADCommand("SELECT * FROM DirectoryRoles", connection) Dim rdr As AzureADDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("displayName"))) End While End Using