Back to Devexpress

XpoDefault.GetDataLayer(String, AutoCreateOption) Method

xpo-devexpress-dot-xpo-dot-xpodefault-dot-getdatalayer-x28-system-dot-string-devexpress-dot-xpo-dot-db-dot-autocreateoption-x29.md

latest8.6 KB
Original Source

XpoDefault.GetDataLayer(String, AutoCreateOption) Method

Creates a data access layer.

Namespace : DevExpress.Xpo

Assembly : DevExpress.Xpo.v25.2.dll

NuGet Package : DevExpress.Xpo

Declaration

csharp
public static IDataLayer GetDataLayer(
    string connectionString,
    AutoCreateOption defaultAutoCreateOption
)
vb
Public Shared Function GetDataLayer(
    connectionString As String,
    defaultAutoCreateOption As AutoCreateOption
) As IDataLayer

Parameters

NameTypeDescription
connectionStringString

A connection string.

| | defaultAutoCreateOption | AutoCreateOption |

Specifies whether XPO can create a database or update its schema.

|

Returns

TypeDescription
IDataLayer

An IDataLayer object.

|

Remarks

If the value passed to the connectionString parameter is a reference to Data Store Service (URL), the method connects SimpleDataLayer to a Data Store Service client.

The GetDataLayer method 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.

|

Tip

Dispose of a data layer instance when it is no longer in use to release the resources it holds.

The following code snippets (auto-collected from DevExpress Examples) contain references to the GetDataLayer(String, AutoCreateOption) method.

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.

winforms-reporting-create-report-bound-to-xpobjectsource/CS/ORMDataModel1Code/ConnectionHelper.cs#L36

csharp
else {
    XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, autoCreateOption);
}

XPO_how-to-persist-metadata-e269/CS/Program.cs#L34

csharp
metadataStorage = XpoDefault.GetDataLayer(InMemoryDataStore.GetConnectionString(metadataFileName), AutoCreateOption.DatabaseAndSchema);
dataStorage = XpoDefault.GetDataLayer(AccessConnectionProvider.GetConnectionString(dataFileName), AutoCreateOption.DatabaseAndSchema);

XPO_how-to-generate-a-sequential-number-for-a-business-object-within-a-database-transaction-e2620/CS/ExplicitUnitOfWorkDemo/Program.cs#L21

csharp
XpoDefault.Session = null;
XpoDefault.DataLayer = DatabaseHelper.DataLayer = XpoDefault.GetDataLayer(cs, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);
DatabaseHelper.SequenceDataLayer = XpoDefault.GetDataLayer(cs, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);

xpo-json-serialization/CS/XpoSerialization/DxSampleModelCode/ConnectionHelper.cs#L36

csharp
} else {
    XpoDefault.DataLayer = XpoDefault.GetDataLayer(configuration.GetConnectionString(ConnectionStringName), autoCreateOption);
}

CriteriaOperatorsCheatSheet/CS/CriteriaOperatorCheatSheet/ConnectionHelper.cs#L39

csharp
} else {
    XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, autoCreateOption);
}

XPO_how-to-generate-a-sequential-number-for-a-business-object-within-a-database-transaction-e2620/VB/ExplicitUnitOfWorkDemo/Program.vb#L23

vb
'ORIGINAL LINE: XpoDefault.DataLayer = DatabaseHelper.DataLayer = XpoDefault.GetDataLayer(cs, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema);
            DatabaseHelper.DataLayer = XpoDefault.GetDataLayer(cs, DevExpress.Xpo.DB.AutoCreateOption.DatabaseAndSchema)
            XpoDefault.DataLayer = DatabaseHelper.DataLayer

winforms-reporting-create-report-bound-to-xpobjectsource/VB/ORMDataModel1Code/ConnectionHelper.vb#L36

vb
Else
    XpoDefault.DataLayer = XpoDefault.GetDataLayer(ConnectionString, autoCreateOption)
End If

XPO_how-to-persist-metadata-e269/VB/Program.vb#L32

vb
If File.Exists(dataFileName) Then File.Delete(dataFileName)
metadataStorage = XpoDefault.GetDataLayer(InMemoryDataStore.GetConnectionString(metadataFileName), AutoCreateOption.DatabaseAndSchema)
dataStorage = XpoDefault.GetDataLayer(AccessConnectionProvider.GetConnectionString(dataFileName), AutoCreateOption.DatabaseAndSchema)

XPO_how-to-filter-an-associated-collection-in-legacy-xpo-versions-e876/VB/Program.vb#L25

vb
Dim conn As String = MSSqlConnectionProvider.GetConnectionString("(local)", "Northwind")
    XpoDefault.DataLayer = XpoDefault.GetDataLayer(conn, AutoCreateOption.SchemaAlreadyExists)
End Sub

wpf-data-grid-in-server-mode-with-xpo/VB/XpoNorthwindServerMode/Window1.xaml.vb#L16

vb
Dim conn As String = MSSqlConnectionProvider.GetConnectionString("(local)", "NorthwindXpo")
XpoDefault.DataLayer = XpoDefault.GetDataLayer(conn, AutoCreateOption.SchemaAlreadyExists)
Me.InitializeComponent()

See Also

DataLayer

SimpleDataLayer

ThreadSafeDataLayer

XpoDefault Class

XpoDefault Members

DevExpress.Xpo Namespace