Ready to get started?

Learn more about the CData ADO.NET Provider for USPS or download a free trial:

Download Now

Working with USPS Data in LINQPad

Execute LINQ queries to USPS data in LINQPad.

The CData ADO.NET Provider for USPS enables you to use standard ADO.NET interfaces like LINQ and the Entity Framework to work with USPS data. This article shows how to connect from LINQPad and execute LINQ queries.

Create the Data Model

After downloading and installing the provider and LINQPad, create a new class library project in 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 authenticate with USPS, set the following connection properties.

    • PostageProvider: The postage provider to use to process requests. Available options are ENDICIA and STAMPS. If unspecified, this property will default to ENDICIA.
    • UseSandbox: This controls whether live or test requests are sent to the production or sandbox servers. If set to true, the Password, AccountNumber, and StampsUserId properties are ignored.
    • StampsUserId: This value is used for logging into authentication to the Stamps servers. This value is not applicable for Endicia and is optional if UseSandbox is true.
    • Password: This value is used for logging into Endicia and Stamps servers. If the postage provider is Endicia, this will be the pass phrase associated with your postage account. It is optional if UseSandbox is true.
    • AccountNumber: The shipper's account number. It is optional if UseSandbox is true.
    • PrintLabelLocation: This property is required to use the GenerateLabels or GenerateReturnLabels stored procedures. This should be set to the folder location where generated labels should be stored.

    The Cache Database

    Many of the useful task available from USPS require a lot of data. To ensure this data is easy to input and recall later, utilize a cache database to make requests. Set the cache connection properties in order to use the cache:

    • CacheLocation: The path to the cache location, for which a connection will be configured with the default cache provider. For example, C:\users\username\documents\uspscache

    As an alternative to CacheLocation, set the combination of CacheConnection and CacheProvider to configure a cache connection using a provider separate from the default.

    Below is a typical connection string:

    PostageProvider=ENDICIA; RequestId=12345; Password='abcdefghijklmnopqr'; AccountNumber='12A3B4C'
  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 USPS connection in LINQPad.

Connect to USPS 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 USPS data through LINQPad. For examples of the supported LINQ queries, see the "LINQ and Entity Framework" chapter in the help documentation.