private static EFObjectSpaceProvider CreateObjectSpaceProvider()
        {
            EFObjectSpaceProvider objectSpaceProvider = new EFObjectSpaceProvider(typeof(ExportReportDemoEFDbContext), connectionString);

            ((TypesInfo)XafTypesInfo.Instance).AddEntityStore(objectSpaceProvider.EntityStore);
            RegisterBOTypes(XafTypesInfo.Instance);
            return(objectSpaceProvider);
        }
 static void Main(string[] args)
 {
     using (EFObjectSpaceProvider objectSpaceProvider = CreateObjectSpaceProvider())
     {
         IObjectSpace objectSpace = objectSpaceProvider.CreateObjectSpace();
         ReportDataV2 reportData  = objectSpace.FindObject <ReportDataV2>(new BinaryOperator("DisplayName", "Employees Report"));
         ExportReport(reportData, objectSpaceProvider);
     }
 }
        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);
        }