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