# Class PersistenceProviderOptions OptimaJet.Workflow.Core.Persistence.PersistenceProviderOptions Provides configuration options for relational database persistence providers. Namespace: [OptimaJet.Workflow.Core.Persistence](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/) ```csharp public class PersistenceProviderOptions ``` ## Constructors `public PersistenceProviderOptions(string connectionString)` Initializes a new instance of the [PersistenceProviderOptions](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/) class with the specified database connection string and the default option values. ### Parameters | Name | Type | Description | | --- | --- | --- | | `connectionString` | `String` | The database connection string for the persistence provider. | ### Exceptions | Type | Description | | --- | --- | | `ArgumentException` | `connectionString` is [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null), empty, or consists only of white-space characters. | ## Properties `public string ConnectionString { get; set; }` Gets or sets the connection string that the persistence provider uses to connect to its database. `public string SchemaName { get; set; }` Gets or sets the database schema name used for Workflow Engine persistence objects. `public bool WriteToHistory { get; set; }` Gets or sets a value indicating whether the persistence provider records transition history. The default is [PersistenceProviderOptions.DefaultWriteToHistory](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/). `public bool WriteSubProcessToRoot { get; set; }` Gets or sets a value indicating whether transition history entries for a subprocess are associated with its root process instead of the subprocess. The default is [PersistenceProviderOptions.DefaultWriteSubProcessToRoot](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/). `public int GlobalCommandTimeout { get; set; }` Gets or sets the timeout, in seconds, for database commands issued by the persistence provider. The default is [PersistenceProviderOptions.DefaultGlobalCommandTimeout](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/). ## Fields `public const bool DefaultWriteToHistory = true` Specifies the default value for [PersistenceProviderOptions.WriteToHistory](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/), which enables transition history recording. `public const bool DefaultWriteSubProcessToRoot = false` Specifies the default value for [PersistenceProviderOptions.WriteSubProcessToRoot](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/), which keeps subprocess transition history associated with the subprocess. `public const int DefaultGlobalCommandTimeout = 30` Represents the default database command timeout of 30 seconds assigned to [PersistenceProviderOptions.GlobalCommandTimeout](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/PersistenceProviderOptions/). [Previous Paging](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/Paging/) [Next ProcessInstanceItem](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/ProcessInstanceItem/)