System.Web.Http.OData
Provides extension methods for the class.
Helper method that performs content negotiation and creates a representing an error with an instance of wrapping as the content. If no formatter is found, this method returns a response with status 406 NotAcceptable.
An error response wrapping with status code .
The request.
The status code of the created response.
The OData error to wrap.
Retrieves the EDM model associated with the request.
The EDM model associated with this request, or null if there isn't one.
The request.
Gets the inline count to use in the OData response.
The inline count to send back, or null if one isn't set.
The request.
Gets the next page link to use in the OData response.
The next page link to send back, or null if one isn't set.
The request.
Gets the OData path of the request.
The OData path of the request
The request.
Gets the to use for generating links.
The to use for generating links.
The request.
Retrieves the route name to use for generating OData links.
The route name to use for generating OData links associated with this request, or null if there isn't one.
The request.
Gets the OData routing conventions to use for controller and action selection.
The OData routing conventions to use for controller and action selection associated with this request, or null if there aren't any.
The request.
Associates the given EDM model with the request.
The request.
The EDM model to associate with the request.
Sets the inline count to use in the OData response.
The request.
The inline count to send back to the client.
Sets the next page link to use in the OData response.
The request.
The next page link to send back to the client.
Sets the OData path for the request.
The request.
The OData path of the request.
Sets the to use for generating links.
The request.
The to use for generating links.
Sets the given route name to be used for generating OData links.
The request.
The route name to use for generating OData links.
Sets the OData routing conventions to use for controller and action selection.
The request.
The OData routing conventions to use for controller and action selection.
Provides extension methods for the class.
Enables query support for actions with a or return type.
The server configuration.
Enables query support for actions with a or return type.
The server configuration.
The action filter that executes the query.
Provides extension methods for the class.
Converts the to an .
The converted
The instance to convert.
Provides extension methods for the class.
Maps the specified OData route.
A collection of routes for the application.
The name of the route to map.
The prefix to add to the OData route's path template.
The EDM model to use for parsing OData paths.
Maps the specified OData route.
A collection of routes for the application.
The name of the route to map.
The prefix to add to the OData route's path template.
The EDM model to use for parsing OData paths.
The to use for parsing the OData path.
The OData routing conventions to use for controller and action selection.
Provides extension methods for the class.
Adds the elements of the specified collection to the end of the .
The collection to which to add the items.
The items that should be added to the end of the . The items collection itself cannot be , but it can contain elements that are .
Inserts the elements of a collection into the at the specified index.
The zero-based index at which the new elements should be inserted.
The items that should be inserted into the . The items collection itself cannot be , but it can contain elements that are .
Provides extension methods for the class.
Generates an OData link.
Returns .
The URL helper.
The OData path segments.
Generates an OData link using the request's OData route name and path handler.
Returns .
The URL helper.
The name of the OData route.
The path handler to use for generating the link.
The OData path segments.
Generates an OData link.
Returns .
The URL helper.
The OData path segments.
This class defines an attribute that can be applied to an action to enable querying using the OData query syntax. To avoid processing unexpected or malicious queries, use the validation settings on to validate incoming queries. For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
Enables a controller action to support OData query parameters.
Gets or sets a value that represents a list of allowed arithmetic operators including 'add', 'sub', 'mul', 'div', 'mod'.
Returns .
Gets or sets a value that represents a list of allowed functions used in the $filter query. The allowed functions include the following: String related: substringof, endswith, startswith, length, indexof, substring, tolower, toupper, trim, concat e.g. ~/Customers?$filter=length(CompanyName) eq 19 DateTime related: year, years, month, months, day, days, hour, hours, minute, minutes, second, seconds e.g. ~/Employees?$filter=year(BirthDate) eq 1971 Math related: round, floor, ceiling Type related:isof, cast, Collection related: any, all
Returns .
Gets or sets a value that represents a list of allowed logical Operators such as 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not'.
Returns .
Gets or sets a string with comma-separated list of property names. The queriable result can only be ordered by those properties defined in this list. Note, by default this string is null, which means it can be ordered by any property. For example, setting this value to null or empty string means that we allow ordering the queriable result by any properties. Setting this value to "Name" means we only allow queriable result to be ordered by Name property.
Returns .
Gets or sets the query parameters that are allowed in queries. The default is all query options, including $filter, $skip, $top, $orderby, $expand, $select, $inlineCount, $format and $skiptoken.
Returns .
Applies the query to the given IQueryable based on incoming query from uri and query settings.
Returns .
The original queriable instance from the response message.
The instance constructed based on the incoming request.
Gets or sets a value indicating whether constants should be parameterized. Parameterizing constants would result in better performance with Entity framework.
The default value is true .
Gets or sets a value indicating whether query composition should alter the original query when necessary to ensure a stable sort order.
A true value indicates the original query should be modified when necessary to guarantee a stable sort order. A false value indicates the sort order can be considered stable without modifying the query. Query providers that ensure a stable sort order should set this value to false . The default value is true .
Gets the EDM model for the given type and request.
The EDM model for the given type and request.
The CLR type to retrieve a model for.
The request message to retrieve a model for.
The action descriptor for the action being queried on.
Gets or sets a value indicating how null propagation should be handled during query composition.
The default is .
Gets or sets the maximum depth of the Any or All elements nested inside the query.
The maximum depth of the Any or All elements nested inside the query.
Gets or sets the maximum number of nodes inside the $filter syntax tree.
Returns .
Gets or sets the max value of $skip that a client can request.
Returns .
Gets or sets the max value of $top that a client can request.
Returns .
Performs the query composition after action is executed. It first tries to retrieve the IQueryable from the returning response message. It then validates the query from uri based on the validation settings on QueryableAttribute. It finally applies the query appropriately, and reset it back on the response message.
The context related to this action, including the response message, request message and HttpConfiguration etc.
Gets or sets the maximum number of query results to send back to clients.
The maximum number of query results to send back to clients.
Validates the OData query in the incoming request.
The incoming request.
The instance constructed based on the incoming request.
Provides a convenient starting point for a controller that exposes an OData entity set. This is the asynchronous version of .
The type associated with the exposed entity set's entity type.
The type associated with the entity key of the exposed entity set's entity type.
Initializes a new instance of .
This method should be overridden to create a new entity in the entity set.
A that contains the created entity when it completes.
The entity to add to the entity set.
This method should be overridden to handle POST and PUT requests that attempt to create a link between two entities.
A that completes when the link has been successfully created.
The key of the entity with the navigation property.
The name of the navigation property.
The URI of the entity to link.
This method should be overridden to handles DELETE requests for deleting existing entities from the entity set.
A that completes when the entity has been successfully deleted.
The entity key of the entity to delete.
This method should be overridden to handle DELETE requests that attempt to break a relationship between two entities.
Returns .
The key of the entity with the navigation property.
The key of the related entity.
The name of the navigation property.
This method should be overridden to handle DELETE requests that attempt to break a relationship between two entities.
Returns .
The key of the entity with the navigation property.
The name of the navigation property.
The URI of the entity to remove from the navigation property.
This method should be overridden to handle GET requests that attempt to retrieve entities from the entity set.
The matching entities from the entity set.
Handles GET requests that attempt to retrieve an individual entity by key from the entity set.
Returns .
The entity key of the entity to retrieve.
This method should be overridden to retrieve an entity by key from the entity set.
A that contains the retrieved entity when it completes, or null if an entity with the specified entity key cannot be found in the entity set.
The entity key of the entity to retrieve.
This method should be overridden to get the entity key of the specified entity.
The entity key value
The entity.
This method should be overridden to handle all unmapped OData requests.
A that contains the response message to send back to the client when it completes.
The OData path of the request.
Gets the OData path of the current request.
Handles PATCH and MERGE requests to partially update a single entity in the entity set.
A that contains the response message to send back to the client when it completes.
The entity key of the entity to update.
The patch representing the partial update.
This method should be overridden to apply a partial update to an existing entity in the entity set.
A that contains the updated entity when it completes.
The entity key of the entity to update.
The patch representing the partial update.
Handles POST requests that create new entities in the entity set.
A that contains the response message to send back to the client when it completes.
The entity to insert into the entity set.
Handles PUT requests that attempt to replace a single entity in the entity set.
A that contains the response message to send back to the client when it completes.
The entity key of the entity to replace.
The updated entity.
Gets the OData query options of the current request.
This method should be overridden to update an existing entity in the entity set.
A that contains the updated entity when it completes.
The entity key of the entity to update.
The updated entity.
Represents a mapping from an to a CLR type.
Initializes a new instance of class.
The backing CLR type for the EDM type.
The backing CLR type for the EDM type.
A class the tracks changes (i.e. the delta) for a particular .
TEntityType is the base type of entity this delta tracks changes for.
Initializes a new instance of .
Initializes a new instance of .
The derived entity type for which the changes would be tracked. should be assignable to instances of .
Clears the Delta and resets the underlying Entity.
Copies the changed property values from the underlying entity (accessible via to the entity.
The entity to be updated.
Copies the unchanged property values from the underlying entity (accessible via ) to the entity.
The entity to be updated.
The actual type of the entity for which the changes are tracked.
Returns .
Returns the Properties that have been modified through this Delta as an enumeration of property names.
Returns .
Returns the instance that holds all the changes (and original values) being tracked by this Delta.
Returns .
Returns the properties that have not been modified through this Delta as an enumeration of property names
Returns .
Overwrites the entity with the changes tracked by this Delta.
The entity to be updated.
Overwrites the entity with the values stored in this Delta.
The entity to be updated.
Overrides the DynamicObject TryGetMember method, so that only the properties of can be got.
Returns .
Attempts to get the of the property called from the underlying entity.
true if the property was found; otherwise, false.
The name of the property.
The type of the property.
Attempts to get the value of the property called from the underlying entity.
true if the property was found.
The name of the property.
The value of the property.
Overrides the DynamicObject TrySetMember method, so that only the properties of can be set.
Returns .
Attempts to set the property called to the specified.
true if successful; otherwise, false.
The name of the property.
The new value of the property.
An instance of gets passed to the self link (, , ) and navigation link (, ) builders and can be used by the link builders to generate links.
Gets or sets the to which this instance belongs.
Returns .
Gets or sets the value of this entity instance.
Returns .
Gets or sets the to which this instance belongs.
Returns .
Gets or sets the of this entity instance.
Returns .
Gets or sets the HTTP request that caused this instance to be generated.
Returns .
Gets or sets a value indicating whether ActionAvailabilityChecks should be performed or not.
Returns .
Gets or sets a that may be used to generate links while serializing this entity instance.
Returns .
An instance of gets passed to the self link (, , ) and navigation link (, ) builders and can be used by the link builders to generate links.
The entity type.
Gets or sets the entity instance.
Returns .
Provides a convenient starting point for a controller that exposes an OData entity set. This is the synchronous version of .
The type associated with the exposed entity set's entity type.
The type associated with the entity key of the exposed entity set's entity type.
This method should be overridden to create a new entity in the entity set.
The created entity.
The entity to add to the entity set.
This method should be overridden to handle POST and PUT requests that attempt to create a link between two entities.
The key of the entity with the navigation property.
The name of the navigation property.
The URI of the entity to link.
This method should be overridden to handle DELETE requests for deleting existing entities from the entity set.
The entity key of the entity to delete.
This method should be overridden to handle DELETE requests that attempt to break a relationship between two entities.
The key of the entity with the navigation property.
The key of the related entity.
The name of the navigation property.
This method should be overridden to handle DELETE requests that attempt to break a relationship between two entities.
The key of the entity with the navigation property.
The name of the navigation property.
The URI of the entity to remove from the navigation property.
This method should be overridden to handle GET requests that attempt to retrieve entities from the entity set.
The matching entities from the entity set.
Handles GET requests that attempt to retrieve an individual entity by key from the entity set.
The response message to send back to the client.
The entity key of the entity to retrieve.
This method should be overridden to retrieve an entity by key from the entity set.
The retrieved entity, or null if an entity with the specified entity key cannot be found in the entity set.
The entity key of the entity to retrieve.
This method should be overridden to get the entity key of the specified entity.
The entity key value
The entity.
This method should be overridden to handle all unmapped OData requests.
The response message to send back to the client.
The OData path of the request.
Gets the OData path of the current request.
Returns .
Handles PATCH and MERGE requests to partially update a single entity in the entity set.
The response message to send back to the client.
The entity key of the entity to update.
The patch representing the partial update.
This method should be overridden to apply a partial update to an existing entity in the entity set.
The updated entity.
The entity key of the entity to update.
The patch representing the partial update.
Handles POST requests that create new entities in the entity set.
The response message to send back to the client.
The entity to insert into the entity set.
Handles PUT requests that attempt to replace a single entity in the entity set.
The response message to send back to the client.
The entity key of the entity to replace.
The updated entity.
Gets the OData query options of the current request.
Returns .
This method should be overridden to update an existing entity in the entity set.
The updated entity.
The entity key of the entity to update.
The updated entity.
Contains context information about the feed currently being serialized.
Gets the this instance belongs to.
Returns .
Gets the value of this feed instance.
Returns .
Gets or sets the HTTP request that caused this instance to be generated.
Returns .
Gets or sets the to be used for generating links while serializing this feed instance.
Returns .
An implementation of that can bind URI parameters using OData conventions.
Gets the binding for a parameter.
The that contains the binding.
The parameter to bind.
Allows and tracks changes to an object.
Clears the .
Returns the properties that have been modified through this IDelta as an enumerable of property names.
Returns .
Returns the properties that have not been modified through this IDelta as an enumerable of property names.
Returns .
Attempts to get the of the property called from the underlying entity.
Returns true if the property was found and false if not.
The name of the property.
The type of the property.
Attempts to get the value of the property called from the underlying entity.
Returns true if the property was found and false if not.
The name of the property
The value of the property
Attempts to set the property called to the specified.
Returns true if successful and false if not.
The name of the property.
The new value of the property.
ActionPayload holds the Parameter names and values provided by a client in a POST request to invoke a particular Action. The Parameter values are stored in the dictionary keyed using the Parameter name.
Defines a base class for OData controllers that support writing and reading data using the OData formats.
An attribute to be placed on controllers that enables the OData formatters.
Callback invoked to set per-controller overrides for this controllerDescriptor.
The controller settings to initialize.
The controller descriptor. Note that the can be associated with the derived controller type given that is inherited.
Represents an for generating OData servicedoc and metadata document ($metadata).
Generates the OData $metadata document.
The representing $metadata.
Generates the OData service document.
The service document for the service.
This defines some context information used to perform query composition.
Constructs an instance of with and element CLR type.
The EdmModel that includes the corresponding to the given .
The CLR type of the element of the collection being queried.
Gets the CLR type of the element.
Gets the of the element.
Gets the given that contains the EntitySet.
A to bind parameters of type to the OData query from the incoming request.
Defines a controller-level attribute that can be used to enable OData action selection based on routing conventions.
Callback invoked to set per-controller overrides for this controllerDescriptor.
The controller settings to initialize.
The controller descriptor. Note that the can be associated with the derived controller type given that is inherited.
Represents a feed of entities that includes additional information that OData formats support.
Initializes a new instance of the class.
The link for the next page of items in the feed.
The total count of items in the feed.
Gets the total count of items in the feed.
Returns .
Gets the link for the next page of items in the feed.
Returns .
Represents a feed of entities that includes additional information that OData formats support.
Creates a partial set of results - used when server driven paging is enabled.
The subset of matching results that should be serialized in this page.
A link to the next page of matching results (if more exists).
A total count of matching results so clients can know the number of matches on the server.
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
Gets the collection of entities for this feed.
Returns .
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
ActionConfiguration represents an OData action that you wish to expose via your service. ActionConfigurations are exposed via $metadata as a <FunctionImport /> element.
Adds a new non-binding parameter.
Get the bindingParameter. Null means the Action has no bindingParameter.
Adds a new non-binding collection parameter
Gets a value indicating whether links provided by follow OData conventions.
Returns .
Retrieves the currently registered action link factory.
Register a factory that creates actions links.
Returns .
Whether this action can always be bound. For example, imagine a Watch action that can be bound to a Movie: it might not always be possible to Watch a movie, in which case IsAlwaysBindable would return false.
Adds a new non-binding parameter
Established the return type of the Action. Used when the return type is a single Primitive or ComplexType.
Establishes the return type of the Action Used when the return type is a collection of either Primitive or ComplexTypes.
Sets the return type to a collection of EntityType instances.
The entitySetName which contains the returned EntityType instances
The type that is an EntityType
Sets the return type to a single EntityType instance.
The entitySetName which contains the return EntityType instance
The type that is an EntityType
Specifies the bindingParameter name, type and whether it is alwaysBindable, use only if the Action "isBindable".
ActionLinkBuilder can be used to annotate an Action. This is how formatters create links to invoke bound actions.
Create a new ActionLinkBuilder based on an actionLinkFactory.
The actionLinkFactory this ActionLinkBuilder should use when building links.
A value indicating whether the action link factory generates links that follow OData conventions.
Builds the action link for the given entity.
The generated action link.
An instance context wrapping the entity instance.
Creates an action link factory that builds an action link, but only when appropriate based on the expensiveAvailabilityCheck, and whether expensive checks should be made, which is deduced by looking at the EntityInstanceContext.SkipExpensiveActionAvailabilityChecks property.
The new action link factory.
The action link factory that actually builds links if all checks pass.
The availability check function that is expensive but when called returns whether the action is available.
Gets a boolean indicating whether the link factory follows OData conventions or not.
Returns .
Represents a BindingParameter.
Create a BindingParameterConfiguration
The name of the Binding Parameter
The type of the Binding Parameter
Whether the action can always be bound to instances of the binding parameter.
Indicates whether the BindingParameter is always bindable or not. For example some actions are always available some are only available at certain times or in certain states.
The default parameter name for an action’s binding parameter.
CollectionPropertyConfiguration represents a CollectionProperty on either an EntityType or ComplexType.
Constructs a CollectionPropertyConfiguration using the provided.
Returns the type of Elements in the Collection
Returns .
Sets the CollectionProperty to optional (i.e. nullable).
Returns .
Sets the CollectionProperty to required (i.e. non-nullable).
Returns .
Returns .
Returns .
Represents a Collection of some named type. For example, Collection(Namespace.Customer) or Collection(Namespace.Adress).
Constructs a collection that contains elements of the specified ElementType and that is represented in CLR using the specified clrType.
The EdmTypeConfiguration of the elements in the collection
The type of this collection when manifested in CLR.
Gets the CLR type associated with this collection type.
Returns .
Gets the of elements in this collection.
Returns .
Gets the full name (including namespace) of this collection type.
Returns .
Gets the kind of the EdmType. In this case, it is .
Returns .
Gets the associated .
Returns .
Gets the name of this collection type.
Returns .
Gets the namespace of this collection type.
Returns .
Represents the configuration for a complex property of a structural type (an entity type or a complex type).
Instantiates a new instance of the class.
The property of the configuration.
The declaring type of the property.
Marks the current complex property as optional.
Returns itself so that multiple calls can be chained.
Marks the current complex property as required.
Returns itself so that multiple calls can be chained.
Returns .
Returns .
Allows configuration to be performed for a complex type in a model. A ComplexTypeConfiguration can be obtained by using the method .
Initializes a new instance of the class.
Initializes a new instance of the class.
The being used.
The backing CLR type for this entity type.
Returns .
Represents an that can be built using .
EntityCollectionConfiguration represents a Collection of Entities. This class can be used to configure things that get bound to entities, like Actions bound to a collection.
The EntityType that is the ElementType of the EntityCollection
Creates a new Action that binds to Collection(EntityType).
An ActionConfiguration to allow further configuration of the Action.
The name of the Action
Creates a new Action that sometimes binds to Collection(EntityType).
An ActionConfiguration to allow further configuration of the Action.
The name of the Action
Allows configuration to be performed for an entity set in a model. A can be obtained by using the method .
Initializes a new instance of the class.
Initializes a new instance of the class.
The .
The CLR of the entity type contained in this entity set.
The name of the entity set.
Initializes a new instance of the class.
The .
The CLR of the entity type contained in this entity set.
The name of the entity set.
Binds the given navigation property to the target entity set.
The so that it can be further configured.
The navigation property.
The target entity set.
Gets the navigation targets of this entity set.
Gets the backing clr type for the entity type contained in this entity set.
Gets the entity type contained in this entity set.
Gets the for the navigation property with the given name.
The .
The name of the navigation property.
Finds the binding for the given navigation property and tries to create it if it does not exist.
The so that it can be further configured.
The navigation property.
Finds the binding for the given navigation property.
The so that it can be further configured.
The navigation property.
Tells whether the binding should be auto created if it does not exist.
Gets the builder used to generate edit links for entries from this entity set.
The link builder.
Gets the builder used to generate self links for feeds for this entity set.
The link builder.
Gets the builder used to generate ID for entries from this entity set.
The builder.
Gets the builder used to generate navigation link for the given navigation property for entries from this entity set.
The link builder.
The navigation property.
Gets the builder used to generate read links for entries from this entity set.
The link builder.
Gets the entity set URL.
The entity set URL.
Configures the edit link for the entities from this entity set.
Returns itself so that multiple calls can be chained.
The builder used to generate the edit link.
Adds a self link to the feed.
The entity set configuration currently being configured.
The builder used to generate the link URL.
Configures the ID for the entities from this entity set.
Returns itself so that multiple calls can be chained.
The builder used to generate the ID.
Configures the navigation link for the given navigation properties for entities from this entity set.
Returns itself so that multiple calls can be chained.
The navigation properties for which the navigation link is being generated.
The builder used to generate the navigation link.
Configures the navigation link for the given navigation property for entities from this entity set.
Returns itself so that multiple calls can be chained.
The navigation property for which the navigation link is being generated.
The builder used to generate the navigation link.
Configures the read link for the entities from this entity set.
Returns itself so that multiple calls can be chained.
The builder used to generate the read link.
Configures the entity set URL.
Returns itself so that multiple calls can be chained.
The entity set URL.
Gets the name of this entity set.
Removes the binding for the given navigation property.
The navigation property
Represents an that can be built using .
The element type of the entity set.
Gets the entity type contained in this entity set.
Returns .
Finds the for the navigation property with the given name.
The binding, if found; otherwise, null.
The name of the navigation property.
Finds the for the navigation property or creates it if it does not exist.
The binding if found; else the created binding.
The navigation property.
Finds the for the given navigation property.
The binding if found.
The navigation property.
Represents a value specifying if the binding should be created if it is not found.
Configures the edit link for the entities from this entity set.
The factory used to generate the edit link.
Represents a value indicating whether the factory follows OData edit link conventions or not.
The factory used to generate the edit link.
Represents a value indicating whether the factory follows OData edit link conventions or not.
Adds a self link to the feed.
The builder used to generate the link URL.
Adds a self link to the feed.
The builder used to generate the link URL.
Configures the ID link for the entities from this entity set.
The factory used to generate the ID link.
if the factory follows OData ID link conventions; otherwise, .
Configures a many relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding. It will be created if it does not exist.
The target entity set type.
The target entity type.
Configures a many relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding. It will be created if it does not exist.
The target entity set type.
The target entity type.
Configures a many relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding. It will be created if it does not exist.
The target entity set type.
Configures a many relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding. It will be created if it does not exist.
The target entity set type.
Configures the navigation link for the given navigation properties for entities from this entity set.
The navigation properties for which the navigation link is being generated.
The factory used to generate the navigation link.
Represents a value indicating whether the factory follows OData navigation link conventions or not.
Configures the navigation link for the given navigation property for entities from this entity set.
The navigation property for which the navigation link is being generated.
The factory used to generate the navigation link.
Represents a value indicating whether the factory follows OData navigation link conventions or not.
Configures an optional relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding.
The target entity set type.
The target entity type.
Configures an optional relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set for the binding.
The target entity set type.
The target entity type.
Configures an optional relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding.
The target entity set type.
Configures an optional relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set for the binding.
The target entity set type.
Configures the read link for the entities from this entity set.
The builder used to generate the read link.
Represents a value indicating whether the factory follows OData conventions or not.
Configures the read link for the entities from this entity set.
The builder used to generate the read link.
Represents a value indicating whether the factory follows OData conventions or not.
Configures a required relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set type.
The target entity type.
Configures a required relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set for the binding.
The target entity set type.
The target entity type.
Configures a required relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set name for the binding.
The target entity set type.
Configures a required relationship from this entity type and binds the corresponding navigation property to the given entity set.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship.For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty.
The target entity set for the binding.
The target entity set type.
Represents an that can be built using .
Initializes a new instance of the class.
Initializes a new instance of the class.
The being used.
Marks this entity type as abstract.
Returns itself so that multiple calls can be chained.
Adds a new EDM collection property to this entity type.
Returns the of the added property.
The backing CLR property.
Adds a new EDM complex property to this entity type.
Returns the of the added property.
The backing CLR property.
Adds a new EDM navigation property to this entity type.
Returns the of the added property.
The backing CLR property.
The of the navigation property.
Adds a new EDM primitive property to this entity type.
Returns the of the added property.
The backing CLR property.
Gets or sets the base type of this entity type.
Gets a value that represents whether the base type is explicitly configured or inferred.
Sets the base type of this entity type.
Returns itself so that multiple calls can be chained.
The base entity type.
Sets the base type of this entity type to null meaning that this entity type does not derive from anything.
Returns itself so that multiple calls can be chained.
Configures the key property(s) for this entity type.
Returns itself so that multiple calls can be chained.
The property to be added to the key properties of this entity type.
Gets or sets a value indicating whether this type is abstract.
Gets the collection of keys for this entity type.
Gets the of this
Gets the collection of of this entity type.
Removes the property from the entity keys collection.
The key to be removed.
Removes the property from the entity.
The of the property to be removed.
Represents an that can be built using .
The backing CLR type for this .
Marks this entity type as abstract.
Returns itself so that multiple calls can be chained.
Create an Action that binds to this EntityType.
The ActionConfiguration to allow further configuration of the new Action.
The name of the action.
Gets the base type of this entity type.
Returns .
Used to access a Collection of Entities throw which you can configure actions that are bindable to EntityCollections.
Returns .
Sets the base type of this entity type.
Returns itself so that multiple calls can be chained.
The base entity type.
Sets the base type of this entity type to null meaning that this entity type does not derive from anything.
Returns itself so that multiple calls can be chained.
Configures the key property(s) for this entity type.
Returns itself so that multiple calls can be chained.
A lambda expression representing the property to be used as the primary key. For example, in C# t => t.Id and in Visual Basic .Net Function(t) t.Id.
The type of key.
Configures a many relationship from this entity type.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The type of the entity at the other end of the relationship.
Configures an optional relationship from this entity type.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The type of the entity at the other end of the relationship.
Configures a required relationship from this entity type.
A configuration object that can be used to further configure the relationship.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The type of the entity at the other end of the relationship.
Gets the collection of of this entity type.
Returns .
Create an Action that sometimes binds to this EntityType
The ActionConfiguration to allow further configuration of the new 'transient' Action.
The name of the action.
Represents an EdmType.
The CLR type associated with the EdmType.
Returns .
The full name (including namespace) of the EdmType.
Returns .
The kind of the EdmType. Examples include EntityType, ComplexType, PrimitiveType, CollectionType.
Returns .
The ODataModelBuilder used to create this IEdmType.
Returns .
The name of the EdmType.
Returns .
The namespace of the EdmType.
Returns .
Encapsulates a navigation link factory and whether the link factory follows conventions or not.
Initializes a new instance of the class.
The navigation link factory for creating navigation links.
Represents whether this factory follows OData conventions or not.
Gets the navigation link factory for creating navigation links.
Gets a value representing whether this factory follows OData conventions or not.
Used to configure the binding for a navigation property for an entity set. This configuration functionality is exposed by the model builder Fluent API, see .
Initializes a new instance of the class.
The navigation property for the binding.
The target entity set of the binding.
Gets the target entity set of the binding.
Gets the navigation property of the binding.
Represents the configuration for a navigation property of an entity type.
Initializes a new instance of the class.
The backing CLR property.
The .
The declaring entity type.
Gets the declaring entity type.
Gets the of this property.
Gets the of this navigation property.
Marks the navigation property as optional.
Gets the backing CLR type of this property type.
Marks the navigation property as required.
Represents a non-binding procedure parameter. Non-binding parameters are provided in the POST body for Actions Non-binding parameters are provided in 3 ways for Functions - ~/.../Function(p1=value) - ~/.../Function(p1=@x)?@x=value - ~/.../Function?p1=value (only allowed if the Function is the last url path segment).
Initializes a new instance of the class.
The name of the parameter.
The EDM type of the parameter.
Used to automatically map CLR classes to an EDM model based on a set of s.
Initializes a new .
Initializes a new .
The to use.
Returns .
Returns .
Returns .
Returns .
Excludes a type or types from the model. This is used to remove types from the model that were added by convention during initial model discovery.
The same so that multiple calls can be chained.
Excludes a type or types from the model. This is used to remove types from the model that were added by convention during initial model discovery.
The same so that multiple calls can be chained.
The types to be excluded from the model.
This action is invoked after the has run all the conventions, but before the configuration is locked down and used to build the .
Used to map CLR classes to an EDM model.
Initializes a new instance of the class.
Adds a non-bindable action to the builder.
The configuration object for the specified action.
The name of the action.
Registers a complex type as part of the model and returns an object that can be used to configure the entity. This method can be called multiple times for the same entity to perform multiple lines of configuration.
The configuration object for the specified complex type.
The type to be registered or configured.
Registers an entity type as part of the model and returns an object that can be used to configure the entity. This method can be called multiple times for the same entity to perform multiple lines of configuration.
The configuration object for the specified entity type.
The type to be registered or configured.
Registers an entity set as a part of the model and returns an object that can be used to configure the entity set. This method can be called multiple times for the same type to perform multiple lines of configuration.
The configuration object for the specified entity set.
The name of the entity set.
The type to be registered or configured.
Adds a procedure to the model.
Registers a type as a complex type in the model and returns an object that can be used to configure the complex type. This method can be called multiple times for the same type to perform multiple lines of configuration.
The configuration object for the specified complex type.
The type to be registered or configured.
Gets or sets the name of the container that will hold all the EntitySets, Actions and Functions
Returns .
Gets or sets the data service version of the model. The default value is 3.0.
Returns .
Registers an entity type as part of the model and returns an object that can be used to configure the entity. This method can be called multiple times for the same entity to perform multiple lines of configuration.
The configuration object for the specified entity type.
The type to be registered or configured.
Registers an entity set as a part of the model and returns an object that can be used to configure the entity set. This method can be called multiple times for the same type to perform multiple lines of configuration.
The configuration object for the specified entity set.
The name of the entity set.
The entity type of the entity set.
Gets the collection of EDM entity sets in the model to be built.
Returns .
Creates a based on the configuration performed using this builder.
The model that was built.
Attempts to find either a pre-configured structural type or a primitive type that matches the T. If no matches are found NULL is returned.
Returns .
Gets or sets the maximum data service version of the model. The default value is 3.0.
Returns .
Gets or sets the namespace that will be used for the resulting model
Returns .
Gets the collection of Procedures (i.e. Actions, Functions and ServiceOperations) in the model to be built
Returns .
Removes the entity set from the model.
true if the entity set is present in the model; false otherwise.
The name of the entity set to be removed
Removes the procedure from the model.
true if the procedure is present in the model; false otherwise.
The name of the procedure to be removed.
Removes the procedure from the model.
true if the procedure is present in the model; false otherwise.
The procedure to be removed.
Removes the type from the model.
true if the type is present in the model and false otherwise.
The type to be removed
Gets the collection of EDM types in the model to be built.
Returns .
Represents a parameter to a Procedure.
Initializes a new instance of the class.
The name of the parameter.
The EDM type of the parameter.
The name of the parameter.
The type of the parameter.
Used to configure a primitive property of an entity type or complex type. This configuration functionality is exposed by the model builder Fluent API, see .
Initializes a new instance of the class.
The name of the property.
The declaring EDM type of the property.
Configures the property to be optional.
Returns itself so that multiple calls can be chained.
Configures the property to be required.
Returns itself so that multiple calls can be chained.
Gets the type of this property.
Gets the backing CLR type of this property type.
Represents a PrimitiveType
This constructor is public only for unit testing purposes. To get a PrimitiveTypeConfiguration use ODataModelBuilder.GetTypeConfigurationOrNull(Type).
Gets the backing CLR type of this EDM type.
Returns the IEdmPrimitiveType associated with this PrimitiveTypeConfiguration
Gets the full name of this EDM type.
Gets the of this EDM type.
Gets the associated .
Gets the name of this EDM type.
Gets the namespace of this EDM type.
Represents a Procedure that is exposed in the model.
The qualified name of the procedure when used in OData urls. Qualification is required to distinguish the procedure from other possible single part identifiers.
The EntitySet that entities are returned from.
The FullName is the ContainerQualifiedName.
The FullyQualifiedName is the ContainerQualifiedName further qualified using the Namespace. Typically this is not required, because most services have at most one container with the same name.
If the procedure IsBindable is it Always bindable.
Can the procedure be bound to a url representing the BindingParameter.
Can the procedure be composed upon. For example can a URL that invokes the procedure be used as the base url for a request that invokes the procedure and does something else with the results.
Does the procedure have side-effects.
The Kind of procedure, which can be either Action, Function or ServiceOperation.
Gets or sets the associated .
The Name of the procedure.
The parameters the procedure takes.
The type returned when the procedure is invoked.
The Kind of OData Procedure. One of Action, Function or ServiceOperation.
An action.
A function.
A service operation.
Base class for all property configurations.
Initializes a new instance of the class.
The name of the property.
The declaring EDM type of the property.
Gets or sets a value that is true if the property was added by the user; false if it was inferred through conventions.
Gets the declaring type.
Gets the of the property.
Gets the name of the property.
Gets the mapping CLR .
Gets the CLR of the property.
The kind of the EDM property.
Represents an EDM primitive property.
Represents an EDM complex property.
Represents an EDM collection property.
Represents an EDM navigation property.
Encapsulates a self-link factory and whether the link factory follows conventions or not.
The type of the self link generated. This should be for ID links and for read and edit links.
Constructs a new instance of .
The link factory.
Whether the factory follows odata conventions for link generation.
Gets the factory for generating links.
Gets a boolean indicating whether the link factory follows OData conventions or not.
Base class for all structural property configurations.
Initializes a new instance of the class.
The property of the configuration.
The declaring type of the property.
Gets or sets a value indicating whether this property is optional or not.
Represents an that can be built using .
Initializes a new instance of the class.
Initializes a new instance of the class.
The associated .
The backing CLR type for this EDM structural type.
Adds a collection property to this edm type.
The so that the property can be configured further.
The property being added.
Adds a complex property to this edm type.
The so that the property can be configured further.
The property being added.
Adds a primitive property to this edm type.
The so that the property can be configured further.
The property being added.
Gets the backing CLR .
Gets the collection of explicitly added properties.
Gets the full name of this EDM type.
Gets the properties from the backing CLR type that are to be ignored on this EDM type.
Gets the of this EDM type.
The .
Gets the name of this EDM type.
Gets the namespace of this EDM type.
Gets the declared properties on this EDM type.
Gets the collection of explicitly removed properties.
Removes the given property.
The property being removed.
Represents an that can be built using .
Initializes a new instance of the class.
The inner configuration of the structural type.
Adds a collection property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The element type of the collection.
Adds a complex property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The complex type.
Excludes a property from the type.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The property type.
Gets the collection of EDM structural properties that belong to this type.
Adds a binary property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
Adds a stream property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
Adds an optional primitive property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The primitive property type.
Adds a string property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
Adds a required primitive property to the EDM type.
A configuration object that can be used to further configure the property.
A lambda expression representing the navigation property for the relationship. For example, in C# t => t.MyProperty and in Visual Basic .NET Function(t) t.MyProperty .
The primitive property type.
class to handle OData.
Returns .
Returns .
Returns .
Gets or sets the that this formatter uses on the read side.
Gets or sets the that this formatter uses on the write side.
Returns .
Returns .
classes to handle OData.
Creates a list of media type formatters to handle OData.
A list of media type formatters to handle OData.
Provides a for EDM primitive types.
Returns .
Arithmetic operators to allow for querying using $filter.
A value that corresponds to allowing no arithmetic operators in $filter.
A value that corresponds to allowing 'Add' arithmetic operator in $filter.
A value that corresponds to allowing 'Subtract' arithmetic operator in $filter.
A value that corresponds to allowing 'Multiply' arithmetic operator in $filter.
A value that corresponds to allowing 'Divide' arithmetic operator in $filter.
A value that corresponds to allowing 'Modulo' arithmetic operator in $filter.
A value that corresponds to allowing all arithmetic operators in $filter.
Functions to allow for querying using $filter.
A value that corresponds to allowing no functions in $filter.
A value that corresponds to allowing 'StartsWith' function in $filter.
A value that corresponds to allowing 'EndsWith' function in $filter.
A value that corresponds to allowing 'SubstringOf' function in $filter.
A value that corresponds to allowing 'Length' function in $filter.
A value that corresponds to allowing 'IndexOf' function in $filter.
A value that corresponds to allowing 'Concat' function in $filter.
A value that corresponds to allowing 'Substring' function in $filter.
A value that corresponds to allowing 'ToLower' function in $filter.
A value that corresponds to allowing 'ToUpper' function in $filter.
A value that corresponds to allowing 'Trim' function in $filter.
A value that corresponds to allowing 'Cast' function in $filter.
A value that corresponds to allowing 'Year' function in $filter.
A value that corresponds to allowing 'Years' function in $filter.
A value that corresponds to allowing 'Month' function in $filter.
A value that corresponds to allowing 'Months' function in $filter.
A value that corresponds to allowing 'Day' function in $filter.
A value that corresponds to allowing 'Days' function in $filter.
A value that corresponds to allowing 'Hour' function in $filter.
A value that corresponds to allowing 'Hours' function in $filter.
A value that corresponds to allowing 'Minute' function in $filter.
A value that corresponds to allowing 'Minutes' function in $filter.
A value that corresponds to allowing 'Second' function in $filter.
A value that corresponds to allowing 'Seconds' function in $filter.
A value that corresponds to allowing 'Round' function in $filter.
A value that corresponds to allowing 'Floor' function in $filter.
A value that corresponds to allowing 'Ceiling' function in $filter.
A value that corresponds to allowing 'IsOf' function in $filter.
A value that corresponds to allowing 'Any' function in $filter.
A value that corresponds to allowing 'All' function in $filter.
A value that corresponds to allowing all string-related functions in $filter.
A value that corresponds to allowing all datetime related functions in $filter.
A value that corresponds to allowing math-related functions in $filter.
A value that corresponds to allowing all functions in $filter.
Logical operators to allow for querying using $filter.
A value that corresponds to allowing no logical operators in $filter.
A value that corresponds to allowing 'Or' logical operator in $filter.
A value that corresponds to allowing 'And' logical operator in $filter.
A value that corresponds to allowing 'Equal' logical operator in $filter.
A value that corresponds to allowing 'NotEqual' logical operator in $filter.
A value that corresponds to allowing 'GreaterThan' logical operator in $filter.
A value that corresponds to allowing 'GreaterThanOrEqual' logical operator in $filter.
A value that corresponds to allowing 'LessThan' logical operator in $filter.
A value that corresponds to allowing 'LessThanOrEqual' logical operator in $filter.
A value that corresponds to allowing 'Not' logical operator in $filter.
A value that corresponds to allowing all logical operators in $filter.
OData query options to allow for querying.
A value that corresponds to allowing no query options.
A value that corresponds to allowing the $filter query option.
A value that corresponds to allowing the $expand query option.
A value that corresponds to allowing the $select query option.
A value that corresponds to allowing the $orderby query option.
A value that corresponds to allowing the $top query option.
A value that corresponds to allowing the $skip query option.
A value that corresponds to allowing the $inlinecount query option.
A value that corresponds to allowing the $format query option.
A value that corresponds to allowing the $skiptoken query option.
A value that corresponds to the default query options supported by .
A value that corresponds to allowing all query options.
This defines a $filter OData query option for querying.
Initialize a new instance of based on the raw $filter value and an EdmModel from .
The raw value for $filter query. It can be null or empty.
The which contains the and some type information
Applies the filter query to the given .
The new after the filter query has been applied.
The original .
The that contains all the query application-related settings.
Applies the filter query to the given IQueryable.
The new after the filter query has been applied.
The original .
The that contains all the query application-related settings.
The to use.
Gets the given .
Gets the parsed for this query option.
Gets the raw $filter value.
Validate the filter query based on the given . It throws an ODataException if validation failed.
The instance which contains all the validation settings.
Gets or sets the Filter Query Validator
This enum defines how to handle null propagation in queriable support.
Determine how to handle null propagation based on the query provider during query composition. This is the default value used in
Handle null propagation during query composition.
Do not handle null propagation during query composition.
Represents the value of the $inlinecount query option and exposes a way to retrieve the number of entities that satisfy a query.
Initializes a new instance of the class.
The raw value for the $inlinecount query option.
The which contains the and some type information
Gets the given .
Gets the number of entities that satisfies the given query if the response should include an inline count, or null otherwise.
The number of entities that satisfy the specified query if the response should include an inline count, or null otherwise.
The query to compute the count for.
Gets the raw $inlinecount value.
Gets the value of the $inlinecount in a parsed form.
Defines an enumeration for $inlinecount query option values.
Corresponds to the 'none' $inlinecount query option value.
Corresponds to the 'allpages' $inlinecount query option value.
This defines a composite OData query option that can be used to perform query composition. Currently this only supports $filter, $orderby, $top, $skip, and $inlinecount.
Initializes a new instance of the class based on the incoming request and some metadata information from the .
The which contains the and some type information.
The incoming request message.
Apply the individual query to the given IQueryable in the right order.
The query that the query has been applied to.
The IQueryable that we are applying query against.
Apply the individual query to the given IQueryable in the right order.
The query that the query has been applied to.
The IQueryable that we are applying query against.
The settings to use in query composition.
Gets the given
Gets the .
Gets the .
Check if the given query option is an OData system query option.
Returns true if the query option is an OData system query option.
The name of the query option.
Limits the query results to a maximum number of results.
The limited query results.
The queryable to limit.
The query result limit.
true if the query results were limited; false otherwise
The entity CLR type
Gets the .
Gets the raw string of all the OData query options
Gets the request message associated with this instance.
Gets the .
Gets the .
Validate all odata queries, including $skip, $top, $orderby and $filter, based on the given . It throws an ODataException if validation failed.
The instance which contains all the validation settings.
Gets or sets the query validator.
This defines a composite OData query option that can be used to perform query composition. Currently this only supports $filter, $orderby, $top, $skip.
Initializes a new instance of the class based on the incoming request and some metadata information from the .
The which contains the and some type information
The incoming request message
Apply the individual query to the given IQueryable in the right order.
The query that the query has been applied to.
The IQueryable that we are applying query against.
Apply the individual query to the given IQueryable in the right order.
The query that the query has been applied to.
The IQueryable that we are applying query against.
The settings to use in query composition.
This class describes the settings to use during query composition.
Instantiates a new instance of the class and initializes the default settings.
Initialize a new instance of the class based on an existing one.
The setting to copy from.
Gets or sets a value indicating whether constants should be parameterized. Parameterizing constants would result in better performance with Entity framework.
The default value is true .
Gets or sets a value indicating whether query composition should alter the original query when necessary to ensure a stable sort order.
A true value indicates the original query should be modified when necessary to guarantee a stable sort order. A false value indicates the sort order can be considered stable without modifying the query. Query providers that ensure a stable sort order should set this value to false . The default value is true .
Gets or sets a value indicating how null propagation should be handled during query composition.
The default is .
Gets or sets the maximum number of query results to return.
The maximum number of query results to return, or null if there is no limit.
Represents the raw query values in the string format from the incoming request.
Gets the raw $expand query value from the incoming request Uri if exists.
Gets the raw $filter query value from the incoming request Uri if exists.
Gets the raw $format query value from the incoming request Uri if exists.
Gets the raw $inlineCount query value from the incoming request Uri if exists.
Gets the raw $orderby query value from the incoming request Uri if exists.
Gets the raw $select query value from the incoming request Uri if exists.
Gets the raw $skip query value from the incoming request Uri if exists.
Gets the raw $skiptoken query value from the incoming request Uri if exists.
Gets the raw $top query value from the incoming request Uri if exists.
This class describes the validation settings for querying.
Initializes a new instance of the class.
Gets or sets a list of allowed arithmetic operators including 'add', 'sub', 'mul', 'div', 'mod'.
Gets or sets a list of allowed functions used in the $filter query. The allowed functions include the following: String related: substringof, endswith, startswith, length, indexof, substring, tolower, toupper, trim, concat e.g. ~/Customers?$filter=length(CompanyName) eq 19 DateTime related: year, years, month, months, day, days, hour, hours, minute, minutes, second, seconds e.g. ~/Employees?$filter=year(BirthDate) eq 1971 Math related: round, floor, ceiling Type related:isof, cast, Collection related: any, all
Gets or sets a list of allowed logical operators such as 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not'.
Gets a list of properties one can order by the result with. Note, by default this list is empty, it means it can be ordered by any property. For example, having an empty collection means the client can order the queriable result by any properties. Adding "Name" to this list means that it only allows queriable result to be ordered by the Name property.
Gets or sets the query parameters that are allowed inside query. The default is all query options, including $filter, $skip, $top, $orderby, $expand, $select, $inlineCount, $format and $skiptoken.
Gets or sets the maximum depth of the Any or All elements nested inside the query.
The maximum depth of the Any or All elements nested inside the query.
Gets or sets the maximum number of the nodes inside the $filter syntax tree.
Gets or sets the max value of $skip that a client can request.
Gets or sets the max value of $top that a client can request.
Represents the order by expression '$it' in the $orderby clause.
Instantiates a new instance of class.
The for this node.
Represents a single order by expression in the $orderby clause.
Initializes a new instance of the class.
The direction of the sort order.
Creates a list of instances from a linked list of instances.
The list of new instances.
The head of the linked list.
Gets the for the current node.
Represents an order by expression.
Instantiates a new instance of the class.
The for this node.
The for this node.
Gets the for the current node.
This defines a $orderby OData query option for querying.
Initialize a new instance of based on the raw $orderby value and an EdmModel from .
The raw value for $orderby query. It can be null or empty.
The which contains the and some type information
Apply the $orderby query to the given IQueryable.
The query that the orderby query has been applied to.
The IQueryable that we are applying orderby query against.
Apply the $orderby query to the given IQueryable.
The query that the orderby query has been applied to.
The IQueryable that we are applying orderby query against.
Gets the given .
Gets the mutable list of instances for this query option.
Gets the raw $orderby value.
Validate the orderby query based on the given . It throws an ODataException if validation failed.
The instance which contains all the validation settings.
Gets or sets the OrderBy Query Validator.
An implementation of that applies an action filter to any action with an or return type that doesn't bind a parameter of type .
Initializes a new instance of the class.
The action filter that executes the query.
Provides filters to apply to the specified action.
The filters to apply to the specified action.
The server configuration.
The action descriptor for the action to provide filters for.
Gets the action filter that executes the query.
This defines a $skip OData query option for querying.
Initialize a new instance of based on the raw $skip value and an EdmModel from .
The raw value for $skip query. It can be null or empty.
The which contains the and some type information
Applies the $skip query to the given IQueryable.
The new after the skip query has been applied.
The original .
The query settings to use while applying this query option.
Applies the $skip query to the given IQueryable.
The new after the skip query has been applied.
The original .
The query settings to use while applying this query option.
Gets the given .
Gets the raw $skip value.
Validate the skip query based on the given . It throws an ODataException if validation failed.
The instance which contains all the validation settings.
Gets or sets the Skip Query Validator.
Gets the value of the $skip as a parsed integer.
This defines a $top OData query option for querying.
Initialize a new instance of based on the raw $top value and an EdmModel from .
The raw value for $top query. It can be null or empty.
The which contains the and some type information
Apply the $top query to the given IQueryable.
The new after the top query has been applied.
The original .
The query settings to use while applying this query option.
Apply the $top query to the given IQueryable.
The new after the top query has been applied.
The original .
The query settings to use while applying this query option.
Gets the given .
Gets the raw $top value.
Validate the top query based on the given . It throws an ODataException if validation failed.
The instance which contains all the validation settings.
Gets or sets the Top Query Validator.
Gets the value of the $top as a parsed integer.
Represents a validator used to validate a based on the .
Initializes a new instance of the class.
Validates a .
The $filter query.
The validation settings.
Override this method to restrict the 'all' query inside the filter query.
Override this method to restrict the 'any' query inside the filter query.
Override this method for the Arithmetic operators, including add, sub, mul, div, mod.
Override this method to restrict the binary operators inside the filter query. That includes all the logical operators except 'not' and all math operators.
Override this method to validate collection property accessor.
Override this method to restrict the 'constant' inside the filter query.
Override this method to restrict the 'cast' inside the filter query.
Override this method if you want to validate casts on entity collections.
Override this method to validate the LogicalOperators such as 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or'. Please note that 'not' is not included here. Please override ValidateUnaryOperatorNode to customize 'not'.
Override this method for the navigation property node.
Override this method if you want to visit each query node.
Override this method to validate the parameter used in the filter query.
Override this method if you want to validate casts on single entities.
Override this method to validate Function calls, such as 'length', 'years', etc.
Override this method to validate property accessor.
Override this method to validate the Not operator.
Represents a validator used to validate OData queries based on the .
Initializes a new instance of the class.
Validates the OData query.
The OData query to validate.
The validation settings.
Represents a validator used to validate an based on the .
Initializes a new instance of the class.
Validates an .
The $orderby query.
The validation settings.
Represents a validator used to validate a based on the .
Initializes a new instance of the class.
Validates a .
The $skip query.
The validation settings.
Represents a validator used to validate a based on the .
Initializes a new instance of the class.
Validates a .
The $top query.
The validation settings.
An implementation representing an action invocation.
Initializes a new instance of the class.
The action being invoked.
Initializes a new instance of the class.
Name of the action.
Gets the action being invoked.
Gets the name of the action.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation representing a $batch segment.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation representing a cast.
Initializes a new instance of the class.
The type of the cast.
Initializes a new instance of the class.
Name of the cast type.
Gets the type of the cast.
Gets the name of the cast type.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
Parses an OData path as an and converts an into an OData link.
Initializes a new instance of the class.
Converts an instance of into an OData link.
The generated OData link.
The OData path to convert into a link.
Parses the specified OData path as an that contains additional information about the EDM type and entity set for the path.
A parsed representation of the path, or null if the path does not match the model.
The model to use for path parsing.
The OData path to parse.
Parses the next OData path segment following a collection.
A parsed representation of the segment.
The model to use for path parsing.
The previous path segment.
The EDM type of the OData path up to the previous segment.
The value of the segment to parse.
Parses the next OData path segment following a complex-typed segment.
A parsed representation of the segment.
The model to use for path parsing.
The previous path segment.
The EDM type of the OData path up to the previous segment.
The value of the segment to parse.
Parses the next OData path segment following an entity.
A parsed representation of the segment.
The model to use for path parsing.
The previous path segment.
The EDM type of the OData path up to the previous segment.
The value of the segment to parse.
Parses the next OData path segment following an entity collection.
A parsed representation of the segment.
The model to use for path parsing.
The previous path segment.
The EDM type of the OData path up to the previous segment.
The value of the segment to parse.
Parses the next OData path segment following a primitive property.
A parsed representation of the segment.
The model to use for path parsing.
The previous path segment.
The EDM type of the OData path up to the previous segment.
The value of the segment to parse.
Parses the first OData segment following the service base URI.
A parsed representation of the segment.
The model to use for path parsing.
The value of the segment to parse.
Parses the next OData path segment.
A parsed representation of the segment.
The model to use for path parsing.
The previous path segment.
The EDM type of the OData path up to the previous segment.
The value of the segment to parse.
Parses the OData path into segments.
The segments of the OData path.
The OData path.
An implementation representing an entity set.
Initializes a new instance of the class.
The entity set being accessed.
Initializes a new instance of the class.
Name of the entity set.
Gets the entity set represented by this segment.
Gets the name of the entity set.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
Exposes the ability to parse an OData path as an and convert an into an OData link.
Converts an instance of into an OData link.
The generated OData link.
The OData path to convert into a link.
Parses the specified OData path as an that contains additional information about the EDM type and entity set for the path.
A parsed representation of the URI, or null if the URI does not match the model.
The model to use for path parsing.
The OData path to parse.
An implementation representing an indexing into an entity collection by key.
Initializes a new instance of the class.
The key value to use for indexing into the collection.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
Gets the key value to use for indexing into the collection.
An implementation representing a $links segment.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation representing a $metadata segment.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation representing a navigation.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the navigation property being accessed by this segment.
Gets the name of the navigation property.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation of that uses the server's OData routing conventions to select an action for OData requests.
Initializes a new instance of the class.
The inner controller selector to call.
Returns a map, keyed by action string, of all that the selector can select. This is primarily called by to discover all the possible actions in the controller.
A map of that the selector can select, or null if the selector does not have a well-defined mapping of .
The controller descriptor.
Selects an action for the .
The selected action.
The controller context.
Provides an object representation for an OData path with additional information about the EDM type and entity set for the path.
Initializes a new instance of the class.
The path segments for the path.
Initializes a new instance of the class.
The path segments for the path.
Gets or sets the EDM type of the path.
Gets or sets the entity set of the path.
Gets the path template describing the types of segments in the path.
Gets the path segments for the OData path.
Returns .
Implementation of used to bind an instance of as an action parameter.
Initializes a new instance of the class.
Gets the parameter binding.
The parameter binding.
The parameter description.
An implementation of that only matches OData paths.
Initializes a new instance of the class.
The OData path handler to use for parsing.
The EDM model to use for parsing the path.
The name of the route this constraint is associated with.
The OData routing conventions to use for selecting the controller name.
Gets the EDM model to use for parsing the path.
Determines whether this instance equals a specified route.
True if this instance equals a specified route; otherwise, false.
The request.
The route to compare.
The name of the parameter.
A list of parameter values.
The route direction.
Gets the OData path handler to use for parsing.
Gets the name of the route this constraint is associated with.
Gets the OData routing conventions to use for selecting the controller name.
Selects the name of the controller to dispatch the request to.
The name of the controller to dispatch to, or null if one cannot be resolved.
The OData path of the request.
The request.
Provides an object representation for an OData path segment with additional information about the EDM type and entity set for the path.
Initializes a new instance of the class.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
This class contains route constants for OData.
Route data key for the action name.
Parameter name to use for the OData path route constraint.
Route data key for the controller name.
Route data key for entity keys.
Route data key for the navigation property name when manipulating links.
Route variable name for the OData path.
Wildcard route template for the OData path route variable.
Route data key for the related key when deleting links.
Provides the values of segment kinds for implementations of .
Represents a segment indicating an OData action.
Represents the OData $batch segment.
Represents a segment indicating a type cast.
Represents a segment indicating an entity set.
Represents a segment indicating an index by key operation.
Represents the OData $links segment.
Represents the OData $metadata segment.
Represents a segment indicating a navigation.
Represents a segment indicating a property access.
Represents the service root segment (for OData service document).
Represents a segment that is not understood.
Represents the OData $value segment.
An implementation representing a property access.
Initializes a new instance of the class.
The property being accessed by this segment.
Initializes a new instance of the class.
Name of the property.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the property property being accessed by this segment.
Gets the name of the property.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation representing a segment that could not be resolved.
Initializes a new instance of the class.
The unresolved segment value.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Gets the unresolved segment value.
Returns a that represents this instance.
A that represents this instance.
An implementation representing a $value segment.
Gets the EDM type for this segment.
The EDM type for this segment.
The EDM type of the previous path segment.
Gets the entity set for this segment.
The entity set for this segment.
The entity set of the previous path segment.
Gets the segment kind for the current segment.
Returns a that represents this instance.
A that represents this instance.
An implementation of that handles action invocations.
Initializes a new instance of the class.
Selects the action for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected action
The OData path.
The controller context.
The action map.
An implementation of that handles operating on entities by key.
Initializes a new instance of the class.
Selects the action for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected action
The OData path.
The controller context.
The action map.
An implementation of that handles entity sets.
Initializes a new instance of the class.
Selects the action for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected action
The OData path.
The controller context.
The action map.
Selects the controller for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected controller
The OData path.
The request.
Provides an abstraction for selecting a controller and an action for OData requests.
Selects the action for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected action
The OData path.
The controller context.
The action map.
Selects the controller for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected controller
The OData path.
The request.
An implementation of that handles link manipulations.
Initializes a new instance of the class.
Selects the action.
The odata path.
The controller context.
The action map.
An implementation of that handles OData metadata requests.
Initializes a new instance of the class.
Selects the action for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected action
The OData path.
The controller context.
The action map.
Selects the controller for OData requests.
null if the request isn't handled by this convention; otherwise, the name of the selected controller
The OData path.
The request.
An implementation of that handles navigation properties.
Initializes a new instance of the class.
Selects the action.
The odata path.
The controller context.
The action map.
Provides helper methods for creating routing conventions.
Creates a mutable list of the default OData routing conventions.
A mutable list of the default OData routing conventions.
An implementation of that always selects the action named HandleUnmappedRequest if that action is present.
Initializes a new instance of the class.
Selects the action.
The odata path.
The controller context.
The action map.