Session.ConnectionString Property
Gets or sets a connection string.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v24.1.dll
NuGet Packages: DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap, DevExpress.Xpo
NuGet Package: DevExpress.Xpo
Declaration
Property Value
Type | Description |
---|---|
String | Data store connection parameters. |
Remarks
If a connection string is a reference to a Data Store Service (URL), Session connects to a Data Store Service client.
Session throws CannotFindAppropriateConnectionProviderException in the following situations:
A connection string does not contain the XpoProvider attribute and XPO cannot infer the provider name from other attributes. | To get a fully qualified connection string, use the GetConnectionString method of a corresponding connection provider. |
A connection string references a Data Store Service and a target platform is .NET Core. | To connect a .NET Core project to a Data Store Service, create and configure DataStoreClientAsync or CachedDataStoreClient. For additional information, see WCF Client in .NET Core. |
Do not assign the ConnectionString property value to another Session, because the property may return an empty string or the ConnectionString property value of the underlying IDbConnection object. The underlying connection string does not contain the XpoProvider attribute. To connect Session to the same database, create a new IDbConnection object (see the code example below).
using DevExpress.Xpo;
using DevExpress.Xpo.DB;
public static Session CloneSession(Session source) {
Session result = new Session();
result.AutoCreateOption = AutoCreateOption.DatabaseAndSchema;
result.Connection =
(IDbConnection)Activator.CreateInstance(source.DataLayer.Connection.GetType());
result.Connection.ConnectionString = source.ConnectionString;
return result;
}
Note
To avoid a CannotChangePropertyWhenSessionIsConnectedException, do not change the ConnectionString property value when the IsConnected property returns true.
Example
Pass a connection string to the ConnectionString property for the Session.DefaultSession, or create your own Session object. To obtain a connection string which is relevant to a data store, use the GetConnectionString method of the corresponding XPO data store adapter (see Database Systems Supported by XPO for more information).
The following code demonstrates how to connect to an Microsoft Access database using the default session.
using DevExpress.Xpo
using DevExpress.Xpo.DB;
// If the default session is connected, disconnect it.
if(Session.DefaultSession.IsConnected) {
Session.DefaultSession.Disconnect();
}
// Retrieve the Microsoft Access database-specific connection string.
Session.DefaultSession.ConnectionString =
AccessConnectionProvider.GetConnectionString("sample.mdb","user", "pwd");
// The default data access layer is created and connected to the database
// using the retrieved connection string.
Session.DefaultSession.Connect();
You can also specify the existing OleDbConnection or the SqlConnection objects as the connection objects to a data store used by the Session or Session.DefaultSession.
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the ConnectionString property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.