diff --git a/src/EFCore.Jet.Data/JetConnection.cs b/src/EFCore.Jet.Data/JetConnection.cs index e5e1735..a31c8cb 100644 --- a/src/EFCore.Jet.Data/JetConnection.cs +++ b/src/EFCore.Jet.Data/JetConnection.cs @@ -520,7 +520,8 @@ namespace EntityFrameworkCore.Jet.Data DatabaseVersion version = DatabaseVersion.NewestSupported, CollatingOrder collatingOrder = CollatingOrder.General, string? databasePassword = null, - SchemaProviderType schemaProviderType = SchemaProviderType.Precise) + SchemaProviderType schemaProviderType = SchemaProviderType.Precise, + DataAccessProviderType? dataAccessProviderType = null) { if (databasePassword != null && databasePassword.Length > 20) @@ -538,11 +539,13 @@ namespace EntityFrameworkCore.Jet.Data // // Ensure dual table existence: // - + DataAccessProviderType dbType = JetConfiguration.DefaultDataAccessProviderType; + + if (dataAccessProviderType != null) dbType = dataAccessProviderType.Value; var dataAccessProviderFactory = JetFactory.Instance.GetDataAccessProviderFactory( IsConnectionString(fileNameOrConnectionString) ? GetDataAccessProviderType(fileNameOrConnectionString) - : JetConfiguration.DefaultDataAccessProviderType); + : dbType); var connectionString = GetConnectionString(fileNameOrConnectionString, dataAccessProviderFactory); diff --git a/src/EFCore.Jet.Data/JetStoreSchemaDefinition/JetStoreDatabaseHandling.cs b/src/EFCore.Jet.Data/JetStoreSchemaDefinition/JetStoreDatabaseHandling.cs index 6a3137a..91d26e6 100644 --- a/src/EFCore.Jet.Data/JetStoreSchemaDefinition/JetStoreDatabaseHandling.cs +++ b/src/EFCore.Jet.Data/JetStoreSchemaDefinition/JetStoreDatabaseHandling.cs @@ -102,7 +102,7 @@ namespace EntityFrameworkCore.Jet.Data.JetStoreSchemaDefinition if (string.IsNullOrWhiteSpace(fileName)) throw new InvalidOperationException("CREATE DATABASE statement is missing database file name."); - JetConnection.CreateDatabase(fileName, databasePassword: databasePassword); + JetConnection.CreateDatabase(fileName, databasePassword: databasePassword, dataAccessProviderType:JetConnection.GetDataAccessProviderType(((JetConnection)command.Connection)?.DataAccessProviderFactory)); return true; } @@ -114,7 +114,7 @@ namespace EntityFrameworkCore.Jet.Data.JetStoreSchemaDefinition if (string.IsNullOrWhiteSpace(fileName)) throw new InvalidOperationException("CREATE DATABASE statement is missing database file name or connection string."); - JetConnection.CreateDatabase(fileName); + JetConnection.CreateDatabase(fileName, dataAccessProviderType: JetConnection.GetDataAccessProviderType(((JetConnection)command.Connection)?.DataAccessProviderFactory)); return true; }