コード例 #1
0
        public async Task TestCreateReadProjectionCreatesTable()
        {
            await _readProjectionWriter.CreateReadProjection(_datasetId);

            A.CallTo(() =>
                     _databaseEngine.CreateTable(A <string> .That.IsEqualTo(_datasetId.ToString()), A <IEnumerable <Column> > .That.Matches(c => CheckTableCreation(c))))
            .MustHaveHappenedOnceExactly();
        }
コード例 #2
0
        public async Task CreateReadProjection(Guid datasetId)
        {
            var tableName = GetTableName(datasetId);
            await _databaseEngine.CreateTable(tableName, GetColumns());

            await InsertExistingFeatures(datasetId, tableName);

            _messageBus.Subscribe(datasetId, @event =>
            {
                Update(datasetId, tableName, @event);
            });
        }
        static void Main(string[] args)
        {
            IEngineCreator Creator = new EngineCreator();

            Console.WriteLine("Press 1 for MySql\nPress 2 for MsSql\nPress 3 for Oracle");
            int choice = Convert.ToInt32(Console.ReadLine());

            switch (choice)
            {
            case 1:
                MySQLDataAccessLayer MySqlLayer = DataAccessLayer <MySQLDataAccessLayer> .GetInstance();

                Creator = MySqlLayer.GetCreator();
                break;

            case 2:
                MSSQLDataAccessLayer MsSqlLayer = DataAccessLayer <MSSQLDataAccessLayer> .GetInstance();

                Creator = MsSqlLayer.GetCreator();
                break;

            case 3:
                OracleDataAccessLayer OracleLayer = DataAccessLayer <OracleDataAccessLayer> .GetInstance();

                Creator = OracleLayer.GetCreator();
                break;

            default:
                Console.WriteLine("Invalid Input");
                break;
            }
            IDatabaseEngine DB = Creator.CreateDatabaseEngine();

            DB.CreateAdapter();
            DB.CreateCommand();
            DB.CreateTable();
            DB.CreateView();
            Console.ReadLine();
        }