![]() |
VOOZH | about |
The CData ADO.NET Provider for PingOne enables you to use standard ADO.NET interfaces like LINQ and the Entity Framework to work with PingOne data. This article will demonstrate the process of establishing a connection from LINQPad and executing LINQ queries.
After downloading and installing both the provider and LINQPad, create a new class library project within Visual Studio.
See the help documentation for a guide to setting up an EF 6 project to use the provider.
Right-click your project and click Add -> New Item -> ADO.NET Entity Data Model. In the resulting dialog, select Code First from database. Click New Connection and specify the connection string options in the resulting wizard.
To connect to PingOne, configure these properties:
is the ID of the PingOne environment in which your Worker application resides. This parameter is used only when the environment is using the default PingOne domain (auth.pingone). It is configured after you have created the custom OAuth application you will use to authenticate to PingOne, as described in Creating a Custom OAuth Application in the Help documentation.
First, find the value for this property:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
Now set to the value of the Environment ID field.
is the base URL of the PingOne authorization server for the environment where your application is located. This property is only used when you have set up a custom domain for the environment, as described in the PingOne platform API documentation. See Custom Domains.
PingOne supports both OAuth and OAuthClient authentication. In addition to performing the configuration steps described above, there are two more steps to complete to support OAuth or OAuthCliet authentication:
Set to OAuth.
Get and Refresh the OAuth Access Token
After setting the following, you are ready to connect:
When you connect, the driver opens PingOne's OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver then completes the OAuth process:
The driver refreshes the access token automatically when it expires.
For other OAuth methods, including Web Applications, Headless Machines, or Client Credentials Grant, refer to the Help documentation.
Below is a typical connection string:
AuthScheme=OAuth;WorkerAppEnvironmentId=eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region=NA;OAuthClientId=client_id;OAuthClientSecret=client_secret;InitiateOAuth=GETANDREFRESH;๐ The required connection properties in the Entity Data Model Configuration Wizard. (JSON is shown.)
Select the desired tables and views and click Finish to create the data model.
๐ The last step of the Entity Data Model Configuration Wizard, where tables are imported into the entity model.After you have obtained the required connection properties and created the data model assembly, follow the steps below to start using the data model in LINQPad.
Open LINQPad and click Add Connection.
Select the "Use a typed data context from your own assembly" option.
Select Entity Framework DbContext.
๐ The Choose Data Context dialog.Click Browse next to the Path to Custom Assembly box and browse to your project folder. Browse to the .dll or .exe under the bin folder.
You can now query PingOne data through LINQPad. For examples of the supported LINQ queries, see the "LINQ and Entity Framework" chapter in the help documentation.
๐ The results of a query in LINQPad. (JSON is shown.)Download a free trial of the PingOne Data Provider to get started:
Download NowLearn more:
๐ PingOne IconRapidly create and deploy powerful .NET applications that integrate with PingOne.