private static DynamicTypeDefinitionManager CreateTypeDefinitionManager(bool useRelationalNulls) { IEdmModel edmModel = new OeEdmModelBuilder(new OrderDataAdapter(), new OeEdmModelMetadataProvider()).BuildEdmModel(); var metadataProvider = new EdmDynamicMetadataProvider(edmModel); return(DynamicTypeDefinitionManager.Create(DynamicDbContext.CreateOptions(useRelationalNulls), metadataProvider)); }
static async Task Main() { //PerformanceCacheTest.RunTest(100); await new PLNull(new PLNull_DbFixtureInitDb()).OrderByColumnsMissingInSelect(0); //new PLNull_ManyColumns(new PLNull_ManyColumnsFixtureInitDb()).Filter(1).GetAwaiter().GetResult(); IEdmModel edmModel = new OeEdmModelBuilder(new OrderDataAdapter(), new OeEdmModelMetadataProvider()).BuildEdmModel(); var metadataProvider = new EdmDynamicMetadataProvider(edmModel); DbContextOptions options = DynamicDbContext.CreateOptions(true); var typeDefinitionManager = DynamicTypeDefinitionManager.Create(options, metadataProvider); ////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 dataAdapter = new DynamicDataAdapter(typeDefinitionManager); var dynamicEdmModel = dataAdapter.BuildEdmModel(); String schema = TestHelper.GetCsdlSchema(dynamicEdmModel); 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(); }