Skip to main content

XPO Data Source

  • 2 minutes to read

An XPO data source gets data from eXpress Persistent Objects.

Design Time

The XPO Data Source requires additional configuration to allow users to create the data source in a Data Source Wizard:

  • Create a data layer to access a data store.
    In this example, a data layer (represented by the SimpleDataLayer class object) is created and assigned to the XpoDefault.DataLayer property using the XpoDefault.GetDataLayer method.

    using DevExpress.Data.DB;
    using DevExpress.Xpo;
    
    string forcedConnectionString = ...;
    XpoDefault.DataLayer = XpoDefault.GetDataLayer(forcedConnectionString, 
    AutoCreateOption.DatabaseAndSchema);
    
  • Create XPO classes:

  • Add the XPO value to the DashboardDesignerDataSourceWizardSettings.AvailableDataSourceTypes property to enable users to create the XPO data source. The XPO data source is added to the list of available data sources in the Data Source Wizard.

To connect to the pre-configured XPO data source, follow the steps below:

  1. Click the New Data Source button in the Data Source ribbon tab.

    DataBinding_NewDataSource

  2. On the first page of the invoked Data Source Wizard dialog, select eXpress Persistent Objects (XPO) and click Next. Then, specify the entity type.

    Important

    Initially, the current page does not contain the eXpress Persistent Objects (XPO) data source type. To customize the list of displayed data source types, use the DashboardDesignerDataSourceWizardSettings.AvailableDataSourceTypes property.

Runtime

  1. Create a DashboardXpoDataSource object and use the ConnectionStringName property to specify the name of the connection string defined in the application’s configuration file.

  2. Pass the persistent object type to the SetEntityType method.

The code sample below illustrates how to connect to the XPO data source.

using DevExpress.DashboardCommon;
// ...
public static DashboardXpoDataSource CreateXpoDataSource()
{
    DashboardXpoDataSource dataSource = new DashboardXpoDataSource()
    {
        ConnectionStringName = "northwind"
    };
    dataSource.SetEntityType(typeof(nwind.Customers));
    return dataSource;
}
See Also