public async Task <IList> ExecuteOe <TResult>(String requestUri, Type baseEntityType) { var parser = new OeParser(new Uri("http://dummy/"), OeDataAdapter, EdmModel); var stream = new MemoryStream(); await parser.ExecuteQueryAsync(ParseUri(requestUri), OeRequestHeaders.Default, stream, CancellationToken.None); stream.Position = 0; var reader = new ResponseReader(EdmModel, DbDataAdapter.EntitySetMetaAdapters); IList fromOe; if (typeof(TResult) == typeof(Object)) { IEnumerable <JObject> jobjects = reader.ReadOpenType(stream, baseEntityType).Select(t => JRawToEnum(t)).ToList(); fromOe = TestHelper.SortProperty(jobjects); } else if (typeof(TResult).GetTypeInfo().IsPrimitive) { fromOe = new String[] { new StreamReader(stream).ReadToEnd() } } ; else { fromOe = reader.ReadFeed <TResult>(stream).ToList(); } return(fromOe); }