Ejemplo n.º 1
0
        private static EdmModel CreateDynamicEdmModel(bool useRelationalNulls)
        {
            //DbContextOptions<DynamicDbContext> options = OrderContextOptions.Create<DynamicDbContext>(useRelationalNulls);
            //var informationSchema = new SqlServerSchema(options);
            DbContextOptions <DynamicDbContext> options = DynamicDataContext.Program.CreateOptionsPostgreSql(useRelationalNulls);
            var informationSchema = new PostgreSqlSchema(options);

            InformationSchemaMapping informationSchemaMapping = DynamicDataContext.Program.GetMappings();

            using (var metadataProvider = new DynamicMetadataProvider(informationSchema, informationSchemaMapping))
            {
                var typeDefinitionManager = DynamicTypeDefinitionManager.Create(metadataProvider);
                var dataAdapter           = new DynamicDataAdapter(typeDefinitionManager);
                return(dataAdapter.BuildEdmModel(metadataProvider));
            }
        }
Ejemplo n.º 2
0
        static async Task Main()
        {
            //PerformanceCacheTest.RunTest(100);
            await new PLNull(new PLNull_DbFixtureInitDb()).ExpandExpandMany(0, false);
            //new ProcedureTest().TableFunction_get().GetAwaiter().GetResult();
            //new PLNull_ManyColumns(new PLNull_ManyColumnsFixtureInitDb()).Filter(1).GetAwaiter().GetResult();

            //IEdmModel edmModel = new OeEdmModelBuilder(new OrderDataAdapter(), new OeEdmModelMetadataProvider()).BuildEdmModel();
            //var metadataProvider = new EdmDynamicMetadataProvider(edmModel);
            InformationSchemaMapping informationSchemaMapping = GetMappings();
            //var informationSchema = new SqlServerSchema(CreateOptionsSqlServer(true));
            var informationSchema = new PostgreSqlSchema(CreateOptionsPostgreSql(true));

            EdmModel dynamicEdmModel;

            using (var metadataProvider = new DynamicMetadataProvider(informationSchema, informationSchemaMapping))
            {
                DynamicTypeDefinitionManager typeDefinitionManager = DynamicTypeDefinitionManager.Create(metadataProvider);
                var dataAdapter = new DynamicDataAdapter(typeDefinitionManager);
                dynamicEdmModel = dataAdapter.BuildEdmModel(metadataProvider);
            }
            String csdlSchema = TestHelper.GetCsdlSchema(dynamicEdmModel);

            //var dbContext = typeDefinitionManager.CreateDynamicDbContext();
            //var orders = typeDefinitionManager.GetQueryable(dbContext, "Orders");
            //var zzz = orders.Include("Items").Include("AltCustomer").Include("Customer").Include("ShippingAddresses").ToList();

            //var orderItems = typeDefinitionManager.GetQueryable(dbContext, "OrderItems");
            //var zzz2 = orderItems.Include("Order").ToList();

            //dbContext = new DynamicDbContext(options, typeDefinitionManager);
            //var zzz3 = new InternalDbSet<DynamicType01>(dbContext).ToList();

            var parser = new OeParser(new Uri("http://dummy"), dynamicEdmModel);
            var stream = new MemoryStream();
            //await parser.ExecuteGetAsync(new Uri("http://dummy/Orders?$expand=Customer,Items&$orderby=Id"), OeRequestHeaders.JsonDefault, stream, CancellationToken.None);
            await parser.ExecuteGetAsync(new Uri("http://dummy/Orders"), OeRequestHeaders.JsonDefault, stream, CancellationToken.None);

            stream.Position = 0;
            String result = new StreamReader(stream).ReadToEnd();
        }