public static IXpoDataStoreProvider GetDataStoreProvider(string connectionString, IDbConnection connection, bool enablePoolingInConnectionString = true) { if (UseSQLAlternativeInfoSingleton.Instance.UseAlternative) { connectionString = InMemoryDataStoreProvider.ConnectionString; } if (connection != null) { connectionString = null; } else { if ((connectionString != InMemoryDataStoreProvider.ConnectionString) && !string.IsNullOrEmpty(connectionString) && !DemoDbEngineDetectorHelper.IsSqlServerAccessible(connectionString)) { string patchedConnectionString = DemoDbEngineDetectorHelper.PatchSQLConnectionString(connectionString); if ((patchedConnectionString == DemoDbEngineDetectorHelper.AlternativeConnectionString) || !DemoDbEngineDetectorHelper.IsSqlServerAccessible(patchedConnectionString)) { UseSQLAlternativeInfoSingleton.Instance.FillFields(DemoDbEngineDetectorHelper.GetIssueMessage(patchedConnectionString), DemoXPODatabaseHelper.AlternativeName, DemoXPODatabaseHelper.InMemoryDatabaseUsageMessage); patchedConnectionString = InMemoryDataStoreProvider.ConnectionString; } connectionString = patchedConnectionString; } } return(XPObjectSpaceProvider.GetDataStoreProvider(connectionString, connection, enablePoolingInConnectionString)); }
public static EFObjectSpaceProvider CreateObjectSpaceProvider(Type dbContextType, string efConnectionString, string sqliteConnectionString) { string patchedEFConnectionString = DemoDbEngineDetectorHelper.PatchSQLConnectionString(efConnectionString); if ((patchedEFConnectionString == DemoDbEngineDetectorHelper.AlternativeConnectionString) || !DemoDbEngineDetectorHelper.IsSqlServerAccessible(patchedEFConnectionString)) { UseSQLAlternativeInfoSingleton.Instance.FillFields(DemoDbEngineDetectorHelper.GetIssueMessage(patchedEFConnectionString), AlternativeName, SQLiteUsageMessage); return(new EFObjectSpaceProvider(dbContextType, new SQLiteConnection(sqliteConnectionString))); } else { return(new EFObjectSpaceProvider(dbContextType, patchedEFConnectionString)); } }
public static XPObjectSpaceProvider CreateObjectSpaceProvider(string connectionString, IDbConnection connection, bool threadSafe) { string patchedConnectionString = connectionString; if (!string.IsNullOrEmpty(connectionString) && (connectionString != InMemoryDataStoreProvider.ConnectionString)) { patchedConnectionString = DemoDbEngineDetectorHelper.PatchSQLConnectionString(connectionString); if ((patchedConnectionString == DemoDbEngineDetectorHelper.AlternativeConnectionString) || !DemoDbEngineDetectorHelper.IsSqlServerAccessible(patchedConnectionString)) { UseSQLAlternativeInfoSingleton.Instance.FillFields(DemoDbEngineDetectorHelper.GetIssueMessage(patchedConnectionString), DemoXPODatabaseHelper.AlternativeName, DemoXPODatabaseHelper.InMemoryDatabaseUsageMessage); patchedConnectionString = InMemoryDataStoreProvider.ConnectionString; } } return(new XPObjectSpaceProvider(patchedConnectionString, connection, threadSafe)); }
public static EFObjectSpaceProvider CreateObjectSpaceProvider(Type dbContextType, ITypesInfo typesInfo, string efConnectionString, string sqliteConnectionString) { EFObjectSpaceProvider result = null; if (UseSQLAlternativeInfoSingleton.Instance.UseAlternative || efConnectionString == sqliteConnectionString) { result = new EFObjectSpaceProvider(dbContextType, typesInfo, null, new SQLiteConnection(sqliteConnectionString)); } else { if (DemoDbEngineDetectorHelper.IsSqlServerAccessible(efConnectionString)) { result = new EFObjectSpaceProvider(dbContextType, typesInfo, null, efConnectionString); } else { UseSQLAlternativeInfoSingleton.Instance.FillFields(DemoDbEngineDetectorHelper.DBServerIsNotAccessibleMessage, AlternativeName, SQLiteUsageMessage); result = new EFObjectSpaceProvider(dbContextType, typesInfo, null, new SQLiteConnection(sqliteConnectionString)); } } return(result); }
public static IXpoDataStoreProvider GetDataStoreProvider(string connectionString, IDbConnection connection, bool enablePoolingInConnectionString = true) { IXpoDataStoreProvider xpoDataStoreProvider = null; if (UseSQLAlternativeInfoSingleton.Instance.UseAlternative || (connectionString == InMemoryDataStoreProvider.ConnectionString)) { xpoDataStoreProvider = DemoXPODatabaseHelper.GetInMemoryDataStoreProvider(enablePoolingInConnectionString); } else { if ((connection != null) || DemoDbEngineDetectorHelper.IsSqlServerAccessible(connectionString)) { xpoDataStoreProvider = XPObjectSpaceProvider.GetDataStoreProvider(connectionString, connection, enablePoolingInConnectionString); } else { UseSQLAlternativeInfoSingleton.Instance.FillFields(DemoDbEngineDetectorHelper.DBServerIsNotAccessibleMessage, DemoXPODatabaseHelper.AlternativeName, DemoXPODatabaseHelper.InMemoryDatabaseUsageMessage); xpoDataStoreProvider = DemoXPODatabaseHelper.GetInMemoryDataStoreProvider(enablePoolingInConnectionString); } } return(xpoDataStoreProvider); }