Working with Lakebase Data in LINQPad

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Execute LINQ queries to Lakebase data in LINQPad.

The CData ADO.NET Provider for Lakebase enables you to use standard ADO.NET interfaces like LINQ and the Entity Framework to work with Lakebase data. This article will demonstrate the process of establishing a connection from LINQPad and executing LINQ queries.

Create the Data Model

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.

  1. 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 Databricks Lakebase, start by setting the following properties:
    • DatabricksInstance: The Databricks instance or server hostname, provided in the format instance-abcdef12-3456-7890-abcd-abcdef123456.database.cloud.databricks.com.
    • Server: The host name or IP address of the server hosting the Lakebase database.
    • Port (optional): The port of the server hosting the Lakebase database, set to 5432 by default.
    • Database (optional): The database to connect to after authenticating to the Lakebase Server, set to the authenticating user's default database by default.

    OAuth Client Authentication

    To authenicate using OAuth client credentials, you need to configure an OAuth client in your service principal. In short, you need to do the following:

    1. Create and configure a new service principal
    2. Assign permissions to the service principal
    3. Create an OAuth secret for the service principal

    For more information, refer to the Setting Up OAuthClient Authentication section in the Help documentation.

    OAuth PKCE Authentication

    To authenticate using the OAuth code type with PKCE (Proof Key for Code Exchange), set the following properties:

    • AuthScheme: OAuthPKCE.
    • User: The authenticating user's user ID.

    For more information, refer to the Help documentation.

    Below is a typical connection string:

    DatabricksInstance=lakebase;Server=127.0.0.1;Port=5432;Database=my_database;InitiateOAuth=GETANDREFRESH;
  2. Select the desired tables and views and click Finish to create the data model.

  3. Build the project. The generated files can be used to create the Lakebase connection in LINQPad.

Connect to Lakebase Data in LINQPad

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.

  1. Open LINQPad and click Add Connection.

  2. Select the "Use a typed data context from your own assembly" option.

  3. Select Entity Framework DbContext.

  4. 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.

  5. Select the name of the DbContext.
  6. If you saved your connection string in App.Config, specify the path to the App.config.

You can now query Lakebase data through LINQPad. For examples of the supported LINQ queries, see the "LINQ and Entity Framework" chapter in the help documentation.

Ready to get started?

Download a free trial of the Lakebase Data Provider to get started:

 Download Now

Learn more:

Lakebase Icon Lakebase ADO.NET Provider

Rapidly create and deploy powerful .NET applications that integrate with Lakebase.