Comments (5)
Dynamic data context not ready yet, working in progress.
var stream = new MemoryStream();
var optionsBuilder = new DbContextOptionsBuilder<DynamicDbContext>();
optionsBuilder = optionsBuilder.UseSqlServer(@"Server=.\sqlexpress;Initial Catalog=OdataToEntity;Trusted_Connection=Yes;", opt => opt.UseRelationalNulls(true));
var sqlServerSchema = new SqlServerSchema(optionsBuilder.Options);
var metadataProvider = new DynamicMetadataProvider(sqlServerSchema);
//metadataProvider.TableMappings = GetMappings();
var typeDefinitionManager = DynamicTypeDefinitionManager.Create(metadataProvider);
var dataAdapter = new DynamicDataAdapter(typeDefinitionManager);
var dynamicEdmModel = dataAdapter.BuildEdmModel();
var parser = new OeParser(new Uri("http://dummy"), dynamicEdmModel);
await parser.ExecuteGetAsync(new Uri("http://dummy/Orders?$expand=Customer,Items&$orderby=Id"), OeRequestHeaders.JsonDefault, stream, CancellationToken.None);
stream.Position = 0;
String result = new StreamReader(stream).ReadToEnd();
Error ordering an aggregation result, this is bug Microsoft.OData.Core
filter and orderby on aggregation result do not work
from odatatoentity.
Hi
I found something else interesting. The issue is not present in the Webapi sample for .NET or .NET Core inmemory data store. This indicates that it is not a problem in the ODataUriParser class - core.
I did a small project to test this out and have managed to reproduced the problem.
An exception is thrown when your call ODataUriParser.ParseUri() method. You can get it to work by calling ParseApply() first.
When I added this into your OeParser.cs, I am getting other errors in your orderby parsing code.
It complain about converting SingleValueOpenPropertyAccessNode
to SingleValuePropertyAccessNode
. In your code it assumes the orderbyClause.Expression is always a SingleValuePropertyAccessNode
Is it possible to fix this? (This is just a guess)
public static ODataPath ParsePath(IEdmModel edmModel, Uri serviceRoot, Uri uri) { var uriParser = new ODataUriParser(edmModel, serviceRoot, uri, ServiceProviderImpl.Instance); uriParser.ParseApply(); return uriParser.ParsePath(); } public static ODataUri ParseUri(IEdmModel edmModel, Uri relativeUri) { var uriParser = new ODataUriParser(edmModel, relativeUri, ServiceProviderImpl.Instance); uriParser.ParseApply(); return uriParser.ParseUri(); } public static ODataUri ParseUri(IEdmModel edmModel, Uri serviceRoot, Uri uri) { var uriParser = new ODataUriParser(edmModel, serviceRoot, uri, ServiceProviderImpl.Instance); uriParser.ParseApply(); return uriParser.ParseUri(); }
from odatatoentity.
Hi
Thanks for investigation how to fix bug
from odatatoentity.
Thanks for fixing this.
I have a console application that builds the EDM and connects using EF Core. It takes 1.7s for the first query and ~ 100ms for subsequence queries. I assume it is loading the DLLs and taking a long time.
In your opinion is there a way to rebuild the EDM and controller class in a MVC application? I also need OData support (not just return the entire entityset or one entity as some online examples shows).
from odatatoentity.
from odatatoentity.
Related Issues (20)
- Error when getting Odata service doucment
- DynamicMiddlewareHelper.CreateEdmModel - error with Postgres, MySql HOT 6
- Potential CWE-352 vulnerability in OdataToEntity.AspNetCore HOT 1
- Potential CWE-113 vulnerability in OdataToEntity.AspNetCore HOT 1
- OeMiddleware - does support POST / PATCH / DELETE ? HOT 13
- Creating OData API via "OdataToEntity.EfCore.DynamicDataContext" HOT 3
- Attempting to call stored procedure with parameters in DynamicDataContext HOT 4
- OdataToEntity.EfCore.DynamicDataContext, DynamicTypeDefinitionManager and LRU caching HOT 6
- EdmName option bug HOT 4
- How change index in scheme for table with several indexes? HOT 6
- "Not found table for clr type" when make OData POST request HOT 2
- Can you add support INSERT/UPDATE hierarchical data? HOT 1
- Why OdataToEntity was migrated to NET5? HOT 2
- DbContextPool<SchemaContext>(schemaOptions) ctor not available on EntityFrameworkCore 5 HOT 1
- An error occured while creating an instance of OeParser HOT 2
- Throwing unhandled exception as package. HOT 1
- Question: Is it possible to update DynamicDbContext connection string per each request
- If the application scattered over services, do the library support for calling json instead of EF core?
- .NET Core 6 HOT 1
- xml data type cannot be compared or sorted except when using the is null operator
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from odatatoentity.