Age | Commit message (Collapse) | Author |
|
.NET 4.5).
|
|
1) removing tests that are not relevant
2) enabling tests that are relevant and can run.
|
|
for non-positive result limits
|
|
|
|
|
|
globally for the server
Also [Queryable] refatoring and adding an error message when the ObjectContent is not of ObjectType IEnumerable, IQueryable, IEnumerable<T>, or IQueryable<T>
|
|
|
|
|
|
using Linq2Objects
|
|
EntityKey convention is looking at Type.GetProperties() directly to figure
out the key property. So if base class a key property named Id, model
building would fail as GetProperties() would return that as well.
Modifying EnityKeyConvention to use properties on the configuration object
instead of from the clr type.
|
|
|
|
The issue here is that the casing being used in the Url.Link and the route
mismatch. This triggers a runtime bug to generate incorrect links. Fixing
the casing in the convention.
|
|
edm primitives
we are not converting non-standard primitives to their standard
representation before passing on to the ODataUriParser for generating uri
representation.
|
|
|
|
|
|
1) Enityset's should be annotated with navigation links for navigation
properties present in derived types as well.
2) Entityset's should be bound to other entity set's for navigation
properties present in derived types as well.
|
|
|
|
|
|
|
|
property
The root issue here is comparison of int? to int64 that
results in a cast that fails if the value of int? is null.
|
|
model
Removing the dangling API's as we don't plan to support concurrency tokens
in this release.
|
|
ODataMediaTypeFormatter.
we should depend on the uri parser to parse $select and $expand.
|
|
ActionLinkGeneration Support for by Convention ActionLinkGeneration Support efficient bound action lookups via a cache annotating the IEdmModel Support advertising ODataActions in Entity resources Refactoring ActionLinkBuilderAnnotation so that everything is delegated to the Func<> Code review feedback rounds 1 & 2
|
|
|
|
Primitives in OData url's have a different representation than the normal
webapi way. For example, Guid's are represented as guid'0000-00....' .
default webapi model binding fails for these url's.
This commit adds a ODataModelBinderProvider that can deal with such urls.
|
|
* New styles for the table and tabs.
* Minor CSS cleanups.
|
|
1) Adding an entity type automatically adds all the derived types as well.
2) One can explicitly ignore derived types being automatically inferred
using the Ignore method on the builder.
3) Figure out base type for an explictly added entity type if it is not
set explicitly.
4) If the backing clr type for an entity type is abstract the
corresponding entity type is configured to be abstract unless specified
otherwise.
|
|
we used to run type conventions first and property covnentions later.
Type and Property conventions have ordering requirements. For instance,
the type convention for figuring out entity keys cannot run before the
NotMapped property convention has run else it will try to map a property
that should not be mapped as key.
|
|
|
|
limit query results
The result limit applies both to GETs on the action resource and to OData queries on the resource. If the results are limited, we generate a next page link using a skip like this:
http://localhost/Customers?$skip=10
We will consider using $skiptoken for next page links in the future since it is more performant and avoids duplicate entry issues.
|
|
|
|
|
|
|
|
Issue 466
|
|
- ODataActionParameters class to represent action parameters.
- ODataActionPayloadDeserializer to create ODataActionParameters objects from request body.
- DefaultODataDeserializerProvider changes to dispatch to ODataActionPayloadDeserializer for ODataActionParameters signatures
- Adding Request and Model to ODataDeserializerContext
- Adding IODataActionResolver and DefaultODataActionResolver
- Reworking ODataMediaTypeFormatter to set Request when constructing an ODataDeserializerContext
- Added Request to ODataDeserializerContext so formatters have access to the Request (and things like RequestUri)
- ODataParameterBindingAttribute to ensure access to Request in deserializers.
- Adding unit tests for ODataActionParameters deserialization
- End to end tests
- Fixing Stylecop and FxCop violations
|
|
|
|
and AttributeEdmTypeConvention<TEdmTypeConfiguration,TAttribute> to avoid partial trust issues with querying on certain machines
|
|
The earlier commit adding collection property did not fix the convention
model builder fully. we throw a NotSupportedException if a complex type
has a collection property. This commit fixes that.
|
|
Formatter can now
1) Serialize a Motorcycle (told to be a Vehicle).
2) Serialize a collection of Vehicles (containing cars, motorcycles).
3) Serialize a sportbike as a motorcycle (derives from motorcycle) when
the edm model doesn't have a definition for sportbike.
A) Deserialize a Motorcycle (when the action is expecting a Vehicle).
|
|
|
|
ODataMediaTypeFormatter to write a client request
|
|
This changeset adds support for querying againt enums. Enums can be compared to other enums as well as their string representation. Flags use comma-separated values:
e.g.
http://localhost/Employees?$filter=Type eq 'Manager'
http://localhost/Employees?$filter=Type eq 'HR, Manager'
|
|
|
|
|
|
|
|
|
|
|
|
Users can now define abstract entity types and entity types that derive
from another entity type. OData doesn't support complex type inheritance.
This commit only adds support in the modelbuilder. Support for inheritance
in the ODataConventionModelBuilder, ODataMediaTypeFormatter and Query
support is still pending.
|
|
|
|
deserialization
|