-
Notifications
You must be signed in to change notification settings - Fork 32
Model Bound Attributes
Maxim edited this page Apr 1, 2019
·
6 revisions
About model bound attributes
Support Page, Count, OrderBy, Filter, Select, Expand attributes.
Model Bound attribute APIs
var optionsBuilder = new DbContextOptionsBuilder<Model.OrderContext>();
optionsBuilder = optionsBuilder.UseSqlServer(@"Server=.\sqlexpress;Initial Catalog=OdataToEntity;Trusted_Connection=Yes;");
//Create adapter data access, where OrderContext your DbContext
//For model bound query cache MUST BY disabled
var dataAdapter = new OeEfCoreDataAdapter<Model.OrderContext>(optionsBuilder.Options, new Cache.OeQueryCache(false));
//Build OData Edm Model
EdmModel edmModel = dataAdapter.BuildEdmModel();
//Create model bound provider from attributes
var modelBoundAttributeBuilder = new Query.Builder.OeModelBoundAttributeBuilder(edmModel);
Query.OeModelBoundProvider modelBoundProvider = modelBoundAttributeBuilder.BuildProvider();
//Create query parser
var parser = new OeParser(new Uri("http://dummy"), edmModel, modelBoundProvider);
//Query
var uri = new Uri("http://dummy/Orders");
//The result of the query
var response = new MemoryStream();
//Execute query
await parser.ExecuteGetAsync(uri, OeRequestHeaders.JsonDefault, response, CancellationToken.None);Model Bound Fluent APIs