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));
            }
        }
Ejemplo n.º 3
0
        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));
        }