Example #1
0
        static async Task Main(string[] args)
        {
            var       dataAdapter = new OrderDbDataAdapter(false, false, "test");
            IEdmModel edmModel    = dataAdapter.BuildEdmModel();

            await InitializeAsync(dataAdapter, edmModel);

            var schemaBuilder = new OeSchemaBuilder(dataAdapter, edmModel, new ModelBuilder.OeEdmModelMetadataProvider());

            var schema     = schemaBuilder.Build();
            var printer    = new SchemaPrinter(schema);
            var jsonSchema = printer.Print();

            Object dataContext = dataAdapter.CreateDataContext();

            var result = await new DocumentExecuter().ExecuteAsync(options =>
            {
                options.UserContext = dataContext;
                options.Schema      = schema;
                //options.Query = "query { orders { name customer (address: \"RU\") { name } } }";
                options.Query = "query { orders (id: 1) { items (orderId: 1) { product } } }";
            }).ConfigureAwait(false);

            dataAdapter.CloseDataContext(dataContext);

            var json = new DocumentWriter(indent: true).Write(result);
        }
Example #2
0
        private static void PerformanceCacheDbTest(SelectTestDefinition[] testDefinitions, int testCount)
        {
            var pool = new DbContextPool <OrderContext>(OrderContextOptions.Create(true, null));

            Db.OeEntitySetAdapterCollection entitySetAdapters = new OrderDbDataAdapter(false, false, null).EntitySetAdapters;

            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            var stopWatch = new Stopwatch();

            stopWatch.Start();
            for (int i = 0; i < testCount; i++)
            {
                foreach (SelectTestDefinition testDefinition in testDefinitions)
                {
                    OrderContext dbContext = pool.Rent();
                    testDefinition.ExecutorDb(entitySetAdapters, dbContext);
                    pool.Return(dbContext);
                }
            }
            stopWatch.Stop();
            Console.WriteLine("Entity Framework " + stopWatch.Elapsed);
        }
Example #3
0
        public static void RunTest(int testCount)
        {
            SelectTestDefinition[] testDefinitions = SelectTestDefinition.GetSelectTestDefinitions();

            //warming-up
            var dataAdapter = new OrderDbDataAdapter(false, false, null);
            var dbContext   = (DbContext)dataAdapter.CreateDataContext();

            foreach (SelectTestDefinition testDefinition in testDefinitions)
            {
                testDefinition.ExecutorDb(dataAdapter, dbContext);
            }
            dataAdapter.CloseDataContext(dbContext);

            PerformanceCacheOeTest(testDefinitions, testCount, true);
            PerformanceCacheOeTest(testDefinitions, testCount, false);
            PerformanceCacheDbTest(testDefinitions, testCount);
        }