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.This method requires that has been associated with an instance of . An error response wrapping with status code . The request of interest. The status code of the created response. The OData error to wrap. Gets 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 for the OData response. Returns null if no count should be sent back to the client. The inline count to send back to the client or null if no count should be sent back to the client. The request. Gets the next page link for the OData response. The next page link to send back to the client or null if if no next page link should be sent back to the client. The request. Gets the OData path of the request. The OData path of the request or null if there isn't one The request. Gets the for generating links. Creates a default if value is currently null. The for generating links. The request. Gets the route name for generating OData links. The route name for generating OData links or null if there isn't one. The request. Gets the OData routing conventions for controller and action selection. The OData routing conventions for controller and action selection or null if there aren't any. The request. Gets the data store used by s to store any custom route data. Creates a new IDictionary<string, object> the first time it is called. The data store used by s to store any custom route data. The request. Gets the parsed OData of the request. The will use this information (if any) while writing the response for this request. The parsed OData of the request or null if there isn't one. The request. Sets the EDM model associated with the request. The request. The EDM model to associate with the request. Sets the inline count for the OData response. The request. The inline count to send back to the client. Sets the next page link for the OData response. The request. The next page link to send back to the client. Sets the OData path of the request. The request. The OData path of the request. Sets the for generating links. The request. The for generating links. Sets the route name for generating OData links. The request. The route name for generating OData links. Sets the OData routing conventions for controller and action selection. The request. The OData routing conventions for controller and action selection. Sets the parsed OData of the request. The will use this information (if any) while writing the response for this request. The request. The parsed OData of the request. Provides extension methods for the class. Enables query support for actions with an or return type. 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. The server configuration. Enables query support for actions with an or return type. 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. 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. When the is provided, it will create a '$batch' endpoint to handle the batch requests. 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 . 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. Maps the specified OData route. When the is provided, it will create a '$batch' endpoint to handle the batch requests. 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. The . 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 using the request's OData route name and path handler and given segments. The generated OData link. The URL helper. The OData path segments. Generates an OData link using the given OData route name, path handler, and segments. The generated OData link. 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 using the request's OData route name and path handler and given segments. The generated OData link. The URL helper. The OData path segments. Enables a controller action to support OData query parameters. Initializes a new instance of the class. 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. 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. A that completes when the link has been successfully deleted. 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. A that completes when the link has been successfully deleted. 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. This method should asynchronously compute the matching entities by applying the request's query options. A that contains the matching entities from the entity set when it completes. Handles GET requests that attempt to retrieve an individual entity by key from 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 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 an entity. Initializes a new instance of the class. Clears the Delta and resets the underlying Entity. Returns the Properties that have been modified through this Delta as an enumeration of Property Names Returns . Returns the Properties that have not been modified through this Delta as an enumeration of Property Names Returns . Overrides the DynamicObject TryGetMember method, so that only the properties of Entity can be got. 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. 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 Entity can be set. Returns . Attempts to set the Property called to the specified. True if successful The name of the Property The new value of the Property 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 . Initializes a new instance of . The derived entity type for which the changes would be tracked. should be assignable to instances of . The set of properties that can be updated or reset. 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. Gets the actual type of the entity for which the changes are tracked. 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. The property names. Returns . Returns the instance that holds all the changes (and original values) being tracked by this Delta. The istance. Returns the properties that have not been modified through this Delta as an enumeration of property names. The properties that have not been modified through this Delta as an enumeration of property names. 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. 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. 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. Represents an with no backing CLR . Initializes a new instance of the class. The of this object. Initializes a new instance of the class. The of this object. true if this object can be nullable; otherwise, false. Initializes a new instance of the class. The of this object. Represents an that is a collection of s. Initialzes a new instance of the class. The edm type of the collection. Initialzes a new instance of the class. The edm type of the collection. The list that is wrapped by the new collection. Represents an with no backing CLR . Initializes a new instance of the class. The of this object. Initializes a new instance of the class. The of this object. true if this object can be nullable; otherwise, false. Initializes a new instance of the class. The of this object. Represents an that is a collection of s. Initialzes a new instance of the class. The edm type of the collection. Initialzes a new instance of the class. The edm type of the collection. The list that is wrapped by the new collection. Provides extension methods for the interface. Gets the to be used while generating action links for the given action. The for the given action if one is set; otherwise, a new that generates action links following OData URL conventions. The containing the action. The action for which the link builder is needed. Gets the to be used while generating self and navigation links for the given entity set. The if set for the given the entity set; otherwise, a new that generates URLs that follow OData URL conventions. The containing the entity set. The entity set. Sets the to be used for generating the OData action link for the given action. The containing the entity set. The action for which the action link is to be generated. The to set. Sets the to be used while generating self and navigation links for the given entity set. The containing the entity set. The entity set. The to set. Represents an with no backing CLR . Initializes a new instance of the class. The of this object. Initializes a new instance of the class. The of this object. true if this object can be nullable; otherwise, false. Initializes a new instance of the class. The of this object. Gets or sets the actual of the entity or complex type of this object. Gets or sets the expected of the entity or complex type of this object. Gets or sets whether the EDM object is nullable or not. 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'. Gets or sets a value that represents a list of allowed functions used in the $filter query. The allowed functions include the following:[list type="definition"] [item] [term]String related[/term] [description]substringof, endswith, startswith, length, indexof, substring, tolower, toupper, trim, concat e.g. ~/Customers?$filter=length(CompanyName) eq 19[/description] [/item] [item] [term]DateTime related[/term] [description]year, years, month, months, day, days, hour, hours, minute, minutes, second, seconds e.g. ~/Employees?$filter=year(BirthDate) eq 1971[/description] [/item] [item] [term]Math related[/term] [description]round, floor, ceiling[/description] [/item] [item] [term]Type related[/term] [description]isof, cast[/description] [/item] [item] [term]Collection related[/term] [description]any, all[/description] [/item] [/list] Gets or sets a value that represents a list of allowed logical Operators such as 'eq', 'ne', 'gt', 'ge', 'lt', 'le', 'and', 'or', 'not'. Gets or sets a string with comma seperated list of property names. The queryable 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 queryable result by any properties. Setting this value to "Name" means we only allow queryable result to be ordered by Name property. 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. Applies the query to the given IQueryable based on incoming query from uri and query settings. By default, the implementation supports $top, $skip, $orderby and $filter. Override this method to perform additional query composition of the query. The original queryable instance from the response message. The instance constructed based on the incoming request. Applies the query to the given entity based on incoming query from uri and query settings. The new entity after the $select and $expand query has been applied to. The original entity 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. Override this method to customize the EDM model used for querying. 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. This limit helps prevent Denial of Service attacks. The default value is 1. The maxiumum depth of the Any or All elements nested inside the query. Gets or sets the max expansion depth for the $expand query option. To disable the maximum expansion depth check, set this property to 0. Gets or sets the maximum number of nodes inside the $filter syntax tree. The default value is 100. Gets or sets the maximum number of expressions that can be present in the $orderby. 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. 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 . 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. By default, the implementation throws an exception if the query contains unsupported query parameters. Override this method to perform additional validation of the query. The incoming request. The instance constructed based on the incoming request. An instance of gets passed to the self link ( , , ) and navigation link ( , ) builders and can be used by the link builders to generate links. Initializes a new instance of the class. Initializes a new instance of the class. The backing . The EDM entity type of this instance context. The object representing the instance of this context. Gets or sets the to which this instance belogs. Gets or sets the backing this instance. Gets or sets the value of this entity instance. Gets or sets the to which this instance belongs. Gets or sets the of this entity instance. Gets or sets the HTTP request that caused this instance to be generated. Gets or sets the . Gets or sets a value indicating whether ActionAvailabilityChecks should be performed or not. Gets or sets a that may be used to generate links while serializing this entity instance. 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 Initializes a new instance of the class. Gets or sets the entity instance. 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 overriden 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. 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. 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. Gets the value of this feed instance. Gets or sets the HTTP request that caused this instance to be generated. Gets or sets the request context. Gets or sets the to be used for generating links while serializing this feed instance. 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 the Properties that have not been modified through this IDelta as an enumerable of Property Names 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 Represents an instance of an . Represents an instance of an . Represents an instance of an . Gets the of this instance. The of this instance. Represents an instance of an . Gets the value of the property with the given name. if the instance contains the property with the given name; otherwise, . The name of the property to get. When this method returns, contains the value of the property with the given name, if the property is found; otherwise, . The parameter is passed uninitialized. Represents an that is null. Initializes a new instance of the class. The EDM type of this object. 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. Creates an action result with the specified values that is a response to a POST operation with an entity to an entity set. A with the specified values. The created entity. The created entity type. Creates an action result with the specified values that is a response to a PUT, PATCH, or a MERGE operation on an OData entity. An with the specified values. The updated entity. The updated entity type. An attribute to be placed on controllers that enables the OData formatters. Creates the OData formatters. A collection of 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. Represents an that converts null values in OData $value responses to HTTP 404 responses. This defines some context information used to perform query composition. Constructs an instance of with and element CLR type. The EDM model the given EDM type belongs to. The EDM type of the element of the collection being queried. 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. 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. Initializes a new instance of the class. The OData action of this parameters. Gets the OData action of this parameters. 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. Gets the link for the next page of items in the feed. 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 an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Represents a that can be used when a backing CLR type exists for the entity type whose changes are tracked. Gets the actual type of the entity for which the changes are tracked. Gets the expected type of the entity for which the changes are tracked. Represents a ChangeSet request. Initializes a new instance of the class. The request messages in the ChangeSet. Gets the resources registered for dispose on each request messages of the ChangeSet. A collection of resources registered for dispose. Gets the request messages in the ChangeSet. Sends the ChangeSet request. A . The invoker. The token to monitor for cancellation requests. Represents a ChangeSet response. Initializes a new instance of the class. The response messages for the ChangeSet requests. Gets the response messages for the ChangeSet. Writes the responses as a ChangeSet. The . The token to monitor for cancellation requests. Default implementation of for handling OData batch request. Initializes a new instance of the class. The for handling the individual batch requests. Creates the batch response message. The batch response message. The responses for the batch requests. The original request containing all the batch requests. The token to monitor for cancellation requests. Executes the OData batch requests. A collection of for the batch requests. The collection of OData batch requests. The token to monitor for cancellation requests. Gets the base URI for the batched requests. The base URI. The original request containing all the batch requests. Converts the incoming OData batch request into a collection of request messages. A collection of . The request containing the batch request messages. The token to monitor for cancellation requests. Validates the incoming request that contains the batch request messages. The request containing the batch request messages. Encapsulates a collection of OData batch responses. Initializes a new instance of the class. The batch responses. Initializes a new instance of the class. The batch responses. The . Gets the batch responses. Defines the abstraction for handling OData batch requests. Initializes a new instance of the class. The for handling the individual batch requests. Gets the used for reading/writing the batch request/response. Gets or sets the name of the OData route associated with this batch handler. Provides extension methods for the class. Retrieves the Batch ID associated with the request. The Batch ID associated with this request, or null if there isn't one. The request. Retrieves the ChangeSet ID associated with the request. The ChangeSet ID associated with this request, or null if there isn't one. The request. Retrieves the Content-ID to Location mapping associated with the request. The Content-ID to Location mapping associated with this request, or null if there isn't one. The request. Associates a given Batch ID with the request. The request. The Batch ID. Associates a given ChangeSet ID with the request. The request. The ChangeSet ID. Associates a given Content-ID to Location mapping with the request. The request. The Content-ID to Location mapping. Provides extension methods for the class. Reads an Operation request in a ChangeSet. A representing a ChangeSet operation The . The Batch ID. The ChangeSet ID. if set to true then the request content stream will be buffered. Reads an Operation request in a ChangeSet. A representing a ChangeSet operation The . The Batch ID. The ChangeSet ID. if set to true then the request content stream will be buffered. The token to monitor for cancellation requests. Reads a ChangeSet request. A collection of in the ChangeSet. The . The Batch Id. Reads a ChangeSet request. A collection of in the ChangeSet. The . The Batch Id. The token to monitor for cancellation requests. Reads an Operation request. A representing the operation. The . The Batch ID. if set to true then the request content stream will be buffered. Reads an Operation request. A representing the operation. The . The Batch ID. if set to true then the request content stream will be buffered. The token to monitor for cancellation requests. Represents an OData batch request. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the resources for disposal. A collection of resources for disposal. Sends a single OData batch request. The invoker. The request. The token to monitor for cancellation requests. The Content-ID to Location mapping. Sends the request. A . The invoker. The token to monitor for cancellation requests. Represents an OData batch response. Releases unmanaged and - optionally - managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Writes a single OData batch response. A task object representing writing the given batch response using the given writer. The . The response message. Writes a single OData batch response. A task object representing writing the given batch response using the given writer. The . The response message. The token to monitor for cancellation requests. Writes the response. The . The token to monitor for cancellation requests. Provides extension methods for the class. Gets the for the stream. A task object that produces an when completed. The . The . Gets the for the stream. A task object that produces an when completed. The . The . The token to monitor for cancellation requests. Represents an Operation request. Initializes a new instance of the class. The Operation request. Gets the resources registered for dispose on the Operation request message. A collection of resources registered for dispose. Gets the Operation request. Sends the Operation request. A . The invoker. The token to monitor for cancellation requests. Represents an Operation response. Initializes a new instance of the class. The response messages for the Operation request. Gets the response messages for the Operation. Writes the response as an Operation. The . The token to monitor for cancellation requests. An implementation of that doesn't buffer the request content stream. Initializes a new instance of the class. The for handling the individual batch requests. Creates the batch response message. The batch response message. The responses for the batch requests. The original request containing all the batch requests. The token to monitor for cancellation requests. Executes the ChangeSet. The response for the ChangeSet. The batch reader. The batch id. The original request containing all the batch requests. The token to monitor for cancellation requests. Executes the operation. The response for the operation. The batch reader. The batch id. The original request containing all the batch requests. The token to monitor for cancellation requests. Gets the base URI for the batched requests. The base URI. The original request containing all the batch requests. Validates the incoming request that contains the batch request messages. The request containing the batch request messages. ActionConfiguration represents an OData action that you wish to expose via your service. Adds a new non-binding parameter. A new non-binding parameter. The name of the parameter. The type of parameter. Get the bindingParameter. The bindingParameter. Adds a new non-binding collection parameter. A new non-binding collection parameter. The name. Base type of element. Gets a value indicating whether links provided by follow OData conventions. true if the links provided by follow OData conventions; otherwise, false. Retrieves the currently registered action link factory. The currently registered action link factory. Register a factory that creates actions links. A factory that crates actions links. The actionLinkFactory this ActionLinkBuilder should use when building links. A value indicating whether the action link factory generates links that follow OData conventions. 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. true if this action can always be bound; otherwise, false. Gets a value whether the action can be found to a url representing the BindingParameter. true if the action can be found to a url representing the BindingParameter; otherwise, false. Gets the Kind of procedure, which can be either Action, Function or ServiceOperation. The Kind of procedure. Adds a new non-binding parameter. A new non-binding parameter. The name of the parameter. The generic type parameter. Gets the parameters the action takes. The parameters the action takes. Established the return type of the Action. The type of this . The type that is a ReturnType. Establishes the return type of the Action Used when the return type is a collection of either Primitive or ComplexTypes. The return type of this . The type of this ReturnElementType. Sets the return type to a collection of EntityType instances. The return type of this . The entitySetName which contains the returned EntityType instances The type that is an EntityType Sets the return type to a collection of entities. Returns . The entity set which contains the returned entities. The entity type. Sets the return type to a single EntityType instance. The return type of this . The entitySetName which contains the return EntityType instance The type that is an EntityType Sets the return type to a single EntityType instance. Returns . The entity set which contains the returned entity. The type that is an EntityType. Specifies the bindingParameter name, type and whether it is alwaysBindable, use only if the Action "isBindable". The binding parameter of this . The name of the parameter. The binding parameter type. true if always bindable; otherwise, false. 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. Returns . 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 Sets the CollectionProperty to optional (i.e. nullable). Sets the CollectionProperty to required (i.e. non-nullable). Represents a Collection of some named type. 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. Gets the of elements in this collection. Gets the fullname (including namespace) of this collection type. Gets the kind of the . In this case, it is . Gets the used to create this configuration. Gets the name of this collection type. Gets the namespace of this collection type. 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. 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. 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 a 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 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 doesnot 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 The element type of the entity set. Gets the entity type contained in this entity set. Finds the for the navigation property with the given name. The binding, if found; otherwise, . The name of the navigation property. Finds the for the given navigation property and 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. if the factory follows OData edit link conventions; otherwise, . Configures the edit link for the entities from this entity set. The factory used to generate the edit link. if the factory follows OData edit link conventions; otherwise, . 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 further. 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 further. 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 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 further. 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 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. if the factory follows OData navigation link conventions; otherwise, . 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. if the factory follows OData navigation link conventions; otherwise, . 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 further. 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 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 further. 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 further. 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 further. 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 factory used to generate the read link. if the factory follows OData read link conventions; otherwise, . Configures the read link for the entities from this entity set. The factory used to generate the read link. if the factory follows OData read link conventions; otherwise, . 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 further. 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 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 further. 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 further. 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 further. 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. is a class used to annotate an inside an with information about how to build links related to that entity set. Initializes a new instance of the class. Initializes a new instance of the class. The entity set for which the link builder is being constructed. The EDM model that this entity set belongs to. Constructs an instance of an . Constructs an instance of an from an . Register a link builder for a that navigates from Entities in this EntitySet. Constructs the EditLink URL for a particular and . Returns . Constructs the for a particular and . Returns . Build a self-link URI given a . Returns . Constructs the IdLink for a particular and . Returns . Constructs a NavigationLink for a particular , and . Returns . Constructs a ReadLink URL for a particular and . Returns . Represents an that can be built using . 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. 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. Used to access a Collection of Entities throw which you can configure actions that are bindable to EntityCollections. 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 =&gt; 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. 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. The fullname (including namespace) of the EdmType. The kind of the EdmType. Examples include EntityType, ComplexType, PrimitiveType, CollectionType. The ODataModelBuilder used to create this IEdmType. The name of the EdmType. The namespace of the EdmType. Contains helper methods for generating OData links that follow OData URL conventions. Generates an action link following the OData URL conventions for the action and bound to the entity represented by . The generated action link following OData URL conventions. The representing the entity for which the action link needs to be generated. The action for which the action link needs to be generated. Generates a feed self link following the OData URL conventions for the feed represented by . The generated feed self link following the OData URL conventions. The representing the feed for which the self link needs to be generated. Generates a navigation link following the OData URL conventions for the entity represented by and the given navigation property. The navigation link following the OData URL conventions. The representing the entity for which the navigation link needs to be generated. The EDM navigation property. Represents whether the generated link should have a cast segment representing a type cast. Generates a self link following the OData URL conventions for the entity represented by . The self link following the OData URL conventions. The representing the entity for which the self link needs to be generated. Represents whether the generated link should have a cast segment representing a type cast. 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. is used to automatically map CLR classes to an EDM model based on a set of . Initializes a new instance of the class. Initializes a new . The to use. Initializes a new instance of the class. The to use. If the model is being built for only querying. Excludes a type 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 . Represents a model builder that is 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. The procedure to be added. 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 entity sets, actions and functions. The name of the container Gets or sets the data service version of the model. The default value is 3.0. The data service version of the model. 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. The collection of EDM entity sets in the model to be built. Creates and returns 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 . If no matches are found null is returned. A pre-configured structural type or a primitive type if found; otherwise, null. The type to find. Gets or sets the maximum data service version of the model. The default value is 3.0. The maximum data service version of the model. Gets or sets the namespace that will be used for the resulting model. The namespace that will be used for the resulting model. Gets the collection of procedures (such as actions, functions and service operations) in the model to be built The collection of procedures. 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 structural types in the model to be built. The collection of EDM structural types in the model. Represents a parameter to a Procedure Initializes a new instance of the class. The name of the parameter. The EDM type of the paramter. 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 used to create this configuration. 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 used to create this configuration. 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 if the property was added by the user; 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 collection property. Represents an EDM complex property. Represents an EDM navigation property. Represents an EDM primitive 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 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. Provides extension methods for the class. Enables query support for actions with an or return type. 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. The server configuration. Enables query support for actions with an or return type. 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. 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. 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.This method requires that has been associated with an instance of . An error response wrapping with status code . The request of interest. The status code of the created response. The OData error to wrap. Gets the instance containing OData methods and properties for given . An object through which OData methods and properties for given are available. The request of interest. Provides properties for use with the extension method. Gets or sets the EDM model associated with the request. Gets or sets the next link for the OData response. Getter returns null if no next link should be sent back to the client. Gets or sets the OData path of the request. Gets or sets the for generating links. Getter creates a default if value is currently null. Gets or sets the route name for generating OData links. Gets or sets the OData routing conventions for controller and action selection. Gets the data store used by s to store any custom route data. Getter creates a new IDictionary<string, object> the first time it is called. Gets or sets the parsed OData of the request. The will use this information (if any) while writing the response for this request. Gets or sets the total count for the OData response. Getter returns null if no count should be sent back to the client. Provides extension methods for the class. Maps the specified OData route. The added . 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. When the is provided, it will create a '$batch' endpoint to handle the batch requests. The added . 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 . Maps the specified OData route. The added . 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. Maps the specified OData route. When the is provided, it will create a '$batch' endpoint to handle the batch requests. The added . 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. The . Provides extension methods for the class. Generates an OData link using the request's OData route name and path handler and given segments. The generated OData link. The URL helper. The OData path segments. Generates an OData link using the given OData route name, path handler, and segments. The generated OData link. 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 using the request's OData route name and path handler and given segments. The generated OData link. The URL helper. The OData path segments. Media type mapping that associates requests for the raw value of binary properties to the application/octet-stream content type. Initializes a new instance of the class. class to handle OData. Initializes a new instance of the class. The kind of payloads this formatter supports. Initializes a new instance of the class. The to use. The to use. The kind of payloads this formatter supports. Gets the that will be used by this formatter instance. Gets the that this formatter uses on the read side. Gets the to be used while reading requests. Gets the that this formatter uses on the write side. Gets the to be used while writing responses. Gets the that will be used by this formatter instance. classes to handle OData. Creates a list of media type formatters to handle OData. A list of media type formatters to handle OData. Creates a list of media type formatters to handle OData with the given and . A list of media type formatters to handle OData. The serializer provider to use. The deserializer provider to use. The amount of metadata information to serialize in an OData response (for JSON light). Normal metadata; used for anything other than JSON light (Atom/XML, JSON verbose). JSON light full metadata. JSON light minimal metadata. JSON light no metadata. Provides a for EDM primitive types. Media type mapping that associates requests for the raw value of non-binary primitive properties to the text/plain content type. Initializes a new instance of the class. Media type mapping that associates requests for the raw value of properties. Initializes a new instance of the class. This method determines if the is an OData Raw value request. True if the request is an OData raw value request. The of the path. The default . Initializes a new instance of the class. Gets the default instance of the . Represents an for reading OData action parameters. Initializes a new instance of the class. The deserializer provider to use to read inner objects. Gets the deserializer provider to use to read inner objects. Represents an that can read OData collection payloads. Initializes a new instance of the class. The deserializer provider to use to read inner objects. Deserializes the given under the given . The deserialized collection. The to deserialize. The element type of the collection to read. The deserializer context. Represents an that can read OData complex type payloads. Initializes a new instance of the class. The deserializer provider to use to read inner objects. Deserializes the given under the given . The deserialized complex value. The complex value to deserialize. The EDM type of the complex value to read. The deserializer context. An is used to read an ODataMessage into a CLR object. Initializes a new instance of the class. The kind of payload this deserializer handles. The kind of ODataPayload this deserializer handles. Reads an using messageReader. The deserialized object. The messageReader to use. The type of the object to read into. The read context. This class encapsulates the state and settings that get passed to from the . Gets or sets the EDM model associated with the request. Gets or sets the of the request. Gets or sets the HTTP Request that is being deserialized. Gets or sets the request context. Gets or sets the of the top-level object the request needs to be deserialized into. Gets or sets the type of the top-level object the request needs to be deserialized into. Represents a factory that creates an . Gets the for the given EDM type. An that can deserialize the given EDM type. The EDM type. Gets an for the given type. An that can deserialize the given type. The EDM model. The CLR type. The request being deserialized. Base class for all s that deserialize into an object backed by . Initializes a new instance of the class. The kind of OData payload that this deserializer reads. Initializes a new instance of the class. The kind of OData payload this deserializer handles. The . The to use for deserializing inner items. Deserializes the item into a new object of type corresponding to . The deserialized object. The item to deserialize. The EDM type of the object to read into. The . Represents an for reading OData entry payloads. Initializes a new instance of the class. The deserializer provider to use to read inner objects. Deserializes the navigation properties from into . The object into which the navigation properties should be read. The entry object containing the navigation properties. The entity type of the entity resource. The deserializer context. Deserializes the navigation property from into . The object into which the navigation property should be read. The navigation link. The entity type of the entity resource. The deserializer context. Deserializes the structural properties from into . The object into which the structural properties should be read. The entry object containing the structural properties. The entity type of the entity resource. The deserializer context. Deserializes the given into . The object into which the structural property should be read. The entry object containing the structural properties. The entity type of the entity resource. The deserializer context. Creates a new instance of the backing CLR object for the given entity type. The created CLR object. The EDM type of the entity to create. The deserializer context. Deserializes the given under the given . The deserialized entity. The OData entry to deserialize. The entity type of the entry to deserialize. The deserializer context. Reads an ODataFeed or an ODataItem from the reader. The read feed or entry. The OData reader to read from. Encapuslates an . Initializes a new instance of . The wrapped item. Gets the wrapped . Represents an that can read OData entity reference link payloads. Initializes a new instance of the class. Encapuslates an and the inner navigation links. Initializes a new instance of . The wrapped item. Gets the wrapped . Gets the inner navigation links. Represents an that can read OData feeds. Initializes a new instance of the class. The deserializer provider to use to read inner objects. Deserializes the given under the given . The deserialized feed object. The feed to deserialize. The element type of the feed being read. The deserializer context. Encapsulates an and the 's that are part of it. Initializes a new instance of . The wrapped item. Gets the nested entries of this feed. Gets the wrapped . Base class for all classes that wrap an . Initializes a new instance of . The wrapped item. Gets the wrapped . Encapsulates an and the list of nested items. Initializes a new instance of . The wrapped item. Gets the wrapped . Gets the nested items that are part of this navigation link. Represents an that can read OData primitve types. Initializes a new instance of the class. Deserializes the primitive from the given under the given . The deserialized OData primitive value. The primitive property to deserialize. The deserializer context. The default . Initializes a new instance of the class. Gets the default instance of the . EntitySelfLinks contains the Id, Edit and Read links for an entity. A URL that can be used to edit a copy of the resource. A string that uniquely identifies the resource. A URL that can be used to retrieve a copy of the resource. ODataSerializer for serializing collection of Entities or Complex types or primitives. Initializes a new instance of the class. The serializer provider to use to serialize nested objects. Adds the type name annotations required for proper json light serialization. The collection value for which the annotations have to be added. The OData metadata level of the response. Creates an for the enumerable represented by . The created . The value of the collection to be created. The element EDM type of the collection. The serializer context to be used while creating the collection. Writes the given using the given . The to use. The collection to write. The EDM type of the collection. The serializer context. ODataSerializer for serializing complex types. Initializes a new instance of the class. The serializer provider to use to serialize nested objects. Creates an for the object represented by . The created . The value of the to be created. The EDM complex type of the object. The serializer context. Represents an that serializes instances of objects backed by an . Initializes a new instance of the class. The kind of OData payload that this serializer generates. Initializes a new instance of the class. The kind of OData payload that this serializer generates. The to use to write inner objects. Creates an for the object represented by . The created. The value of the to be created. The expected EDM type of the object represented by . The . Gets the that can be used to write inner objects. Writes the given object specified by the parameter graph as a part of an existing OData message using the given messageWriter and the writeContext. The object to be written. The expected EDM type of the object represented by . The to be used for writing. The . Represents an for serializing $links response. Initializes a new instance of . Represents an for serializing $link response for a collection navigation property. Initializes a new instance of the class. ODataSerializer for serializing instances of Creates the to be written while writing this entity. The created . The describing the response graph. The context for the entity instance being written. Creates the to be written while writing this entity. The navigation link to be written. The navigation property for which the navigation link is being created. The context for the entity instance being written. Creates an to be written for the given action and the entity instance. The created action or null if the action should not be written. The OData action. The context for the entity instance being written. Creates the that describes the set of properties and actions to select and expand while writing this entity. The that describes the set of properties and actions to select and expand while writing this entity. Contains the entity instance being written and the context. Creates the to be written for the given entity and the structural property. The to write. The EDM structural property being written. The context for the entity instance being written. Represents an to serialize s and s. Initializes a new instance of the class . OData serializer for serializing a collection of Initializes a new instance of . The to use to write nested entries. Create the to be written for the given feed instance. The created object. The instance representing the feed being written. The EDM type of the feed being written. The serializer context. Represents an for serializing $metadata. Initializes a new instance of . Represents an for serializing 's. Initializes a new instance of . Creates an for the object represented by . The created . The primitive value. The EDM primitive type of the value. The serializer write context. Represents an for serializing the raw value of an . Initializes a new instance of . An ODataSerializer is used to write a CLR object to an ODataMessage. Constructs an ODataSerializer that can generate OData payload of the specified kind. The kind of OData payload that this serializer generates. Gets the that this serializer generates. Writes the given object specified by the parameter graph as a whole using the given messageWriter and writeContext. The object to be written The type of the object to be written. The to be used for writing. The . Context information used by the when serializing objects in OData message format. Initializes a new instance of the class. Initializes a new instance of the class. The entity whose navigation property is being expanded. The for the navigation property being expanded. The navigation property being expanded. Gets or sets the entity set. Gets or sets the entity that is being expanded. Gets a property bag associated with this context to store any generic data. Gets or sets the metadata level of the response. Gets or sets the EDM model associated with the request. Gets or sets the navigation property being expanded. Gets or sets the of the request. Gets or sets the HTTP Request whose response is being serialized. Gets or sets the request context. Gets or sets the root element name which is used when writing primitive types and complex types. Gets or sets the . Get or sets whether expensive links should be calculated. Gets or sets the to use for generating OData links. An ODataSerializerProvider is a factory for creating s. Gets an for the given edmType. The . The . Gets an for the given and . The for the given type. The EDM model associated with the request. The for which the serializer is being requested. The request for which the response is being serialized. Represents an for serializing 's for generating servicedoc's. Initializes a new instance of . Describes the set of structural properties and navigation properties and actions to select and navigation properties to expand while writing an in the response. Creates a new instance of the class. Creates a new instance of the class describing the set of structural properties, navigation properties, and actions to select and expand for the given . The parsed $select and $expand query options. The entity type of the entry that would be written. The that contains the given entity type. Gets the list of EDM navigation properties to be expanded in the response. Gets the list of OData actions to be included in the response. Gets the list of EDM navigation properties to be included as links in the response. Gets the list of EDM structural properties to be included in the response. Arithmetic operators to allow for querying using $filter. A value that corresponds to allowing 'Add' arithmetic operator in $filter. A value that corresponds to allowing all arithmetic operators 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 'Multiply' arithmetic operator in $filter. A value that corresponds to allowing no arithmetic operators in $filter. A value that corresponds to allowing 'Subtract' arithmetic operator in $filter. Functions to allow for querying using $filter. A value that corresponds to allowing 'All' function in $filter. A value that corresponds to allowing all datetime related functions in $filter. A value that corresponds to allowing all functions in $filter. A value that corresponds to allowing math related functions in $filter. A value that corresponds to allowing all string related functions in $filter. A value that corresponds to allowing 'Any' function in $filter. A value that corresponds to allowing 'Cast' function in $filter. A value that corresponds to allowing 'Ceiling' function in $filter. A value that corresponds to allowing 'Concat' 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 'EndsWith' function in $filter. A value that corresponds to allowing 'Floor' 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 'IndexOf' function in $filter. A value that corresponds to allowing 'IsOf' function in $filter. A value that corresponds to allowing 'Length' 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 'Month' function in $filter. A value that corresponds to allowing 'Months' function in $filter. A value that corresponds to allowing no functions in $filter. A value that corresponds to allowing 'Round' 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 'StartsWith' function in $filter. A value that corresponds to allowing 'Substring' function in $filter. A value that corresponds to allowing 'SubstringOf' 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 'Year' function in $filter. A value that corresponds to allowing 'Years' function in $filter. Logical operators to allow for querying using $filter. A value that corresponds to allowing all logical operators 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 '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 no logical operators in $filter. A value that corresponds to allowing 'Not' logical operator in $filter. A value that corresponds to allowing 'NotEqual' logical operator in $filter. A value that corresponds to allowing 'Or' logical operator in $filter. OData query options to allow for querying. A value that corresponds to allowing all query options. A value that corresponds to allowing the $expand query option. A value that corresponds to allowing the $filter query option. A value that corresponds to allowing the $format query option. A value that corresponds to allowing the $inlinecount query option. A value that corresponds to allowing no query options. A value that corresponds to allowing the $orderby query option. A value that corresponds to allowing the $select query option. A value that corresponds to allowing the $skip 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 the $top query option. 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 Apply the filter query to the given IQueryable. The new after the filter query has been applied to. The original . The that contains all the query application related settings. Apply the filter query to the given IQueryable. The new after the filter query has been applied to. 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 queryable support. Determine how to handle null propagation based on the query provider during query composition. This is the default value used in Do not handle null propagation during query composition. 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 satify 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 'allpages' $inlinecount query option value. Corresponds to the 'none' $inlinecount query option value. The result of a $select and $expand projection is represented as an instance. That instance can be projected into an instance by calling . That method will use the function to construct an that will map the property names in that projection to the keys in the returned . The main purpose of converting an instance into an (using the method mentioned above) is to allow changing the names of the properties in the that will be used during the serialization of the $select and $expand projection by a given formatter. For example, to support custom serialization attributes of a particular formatter. Defines a mapping between the name of an of an and the name that should be used in other contexts, for example, when projecting an instance of an into an instance of an The value that will be used as the key for this property in the resulting from calling ToDictionary on an instance. The name of the property in the represented by this instance of . Represents the result of a $select and $expand query operation. Projects the result of a $select and $expand query to a . An representing the $select and $expand result. Projects the result of a $select and/or $expand query to an using the given . The is used to obtain an for the that this instance represents. This will be used to map the properties of the instance to the keys of the returned . This method can be used, for example, to map the property names in the to the names that should be used to serialize the properties that this projection contains. An representing the $select and $expand result. A function that provides a new instance of an for a given and a given . Represents a collection that is truncated to a given page size. Gets a value representing if the collection is truncated or not. Gets the page size the collection is truncated to. This defines a composite OData query options 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 new after the query has been applied to. The original . Apply the individual query to the given IQueryable in the right order. The new after the query has been applied to. The original . The settings to use in query composition. Applies the query to the given entity using the given . The new entity after the $select and $expand query has been applied to. The original entity. The that contains all the query application related settings. 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 . 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 options 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 new after the query has been applied to. The original . Apply the individual query to the given IQueryable in the right order. The new after the query has been applied to. The original . 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. 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 orderby 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 client can order the queryable result by any properties. Adding "Name" to this list means that it only allows queryable result to be ordered by 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 max expansion depth for the $expand query option. Gets or sets the maximum number of the nodes inside the $filter syntax tree. Gets or sets the maximum number of expressions that can be present in the $orderby. 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. Initializes a new instance of the class. The for this node. The for this node. Initializes a new instance of the class. The orderby clause representing property access. Gets the of 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 new after the orderby query has been applied to. The original . Apply the $orderby query to the given IQueryable. The new after the orderby query has been applied to. The original . The that contains all the query application related settings. Apply the $orderby query to the given IQueryable. The new after the orderby query has been applied to. The original . Apply the $orderby query to the given IQueryable. The new after the orderby query has been applied to. The original . The that contains all the query application related settings. Gets the given . Gets the parsed for this query option. 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. Represents the OData $select and $expand query options. Initializes a new instance of the class. The $select query parameter value. The $select query parameter value. The which contains the and some type information. Applies the $select and $expand query options to the given using the given . The new after the filter query has been applied to. The original . The that contains all the query application related settings. Applies the $select and $expand query options to the given entity using the given . The new entity after the $select and $expand query has been applied to. The original entity. The that contains all the query application related settings. Gets the given . Gets the raw $expand value. Gets the raw $select value. Gets the parsed for this query option. Validate the $select and $expand query based on the given . It throws an ODataException if validation failed. The instance which contains all the validation settings. Gets or sets the $select and $expand query validator. 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 Apply the $skip query to the given IQueryable. The new after the skip query has been applied to. The original . The query settings to use while applying this query option. Apply the $skip query to the given IQueryable. The new after the skip query has been applied to. 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 to. 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 to. 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 class that truncates a collection to a given page size. The collection element type. Initializes a new instance of the class. The collection to be truncated. The page size. Initializes a new instance of the class. The queryable collection to be truncated. The page size. Represents a validator used to validate a based on the . 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 . Validates the OData query. The OData query to validate. The validation settings. Represents a validator used to validate an based on the . Validates an . The $orderby query. The validation settings. Represents a validator used to validate a based on the . Validates a . The $select and $expand query. The validation settings. Represents a validator used to validate a based on the . Validates a . The $skip query. The validation settings. Represents a validator used to validate a based on the . Validates a . The $top query. The validation settings. Represents an action result that is a response to a POST operation with an entity to an entity set. The entity type. Initializes a new instance of the class. The created entity. The content negotiator to handle content negotiation. The request message which led to this result. The formatters to use to negotiate and format the content. The location header for the created entity. Initializes a new instance of the class. The created entity. The controller from which to obtain the dependencies needed for execution. Gets the content negotiator to handle content negotiation. Gets the entity that was created. Gets the formatters to use to negotiate and format the created entity. Gets the location header of the created entity. Gets the request message which led to this result. Represents an action result that is a response to a PUT, PATCH, or a MERGE operation on an OData entity. The entity type. Initializes a new instance of the class. The updated entity. The content negotiator to handle content negotiation. The request message which led to this result. The formatters to use to negotiate and format the content. Initializes a new instance of the class. The updated entity. The controller from which to obtain the dependencies needed for execution. Gets the content negotiator to handle content negotiation. Gets the entity that was updated. Gets the formatters to use to negotiate and format the content. Gets the request message which led to this result. 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. 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. Initializes a new instance of the class. The navigation property being accessed by this segment. Initializes a new instance of the class. Name of the navigation 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 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. Implementation of used to bind an instance of as an action parameter. 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. A route implementation for OData routes. It supports passing in a route prefix for the route as well as a path constraint that parses the request path as OData. Initializes a new instance of the class. The route prefix. The OData path constraint. Initializes a new instance of the class. The route prefix. The OData path constraint. The default values for the route. The route constraints. The data tokens. The message handler for the route. Gets the route prefix. This class contains route constants for OData. Route data key for the action name. Route template suffix for OData batch. 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. Parameter name to use for the OData version route constraint. 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 of that only matches a specific OData protocol version. This constraint won't match any incoming requests that contains either of the v4.0 OData version headers regardless of the version in the current version headers. Creates a new instance of the class that will have a default version range of 1.0 to 3.0. Creates a new instance of the class. This instance will match just a single version of the protocol. The version of the protocol that this instance matches. Creates a new instance of the class. This instance will match just a single version of the protocol. The minimum version of the protocol that this instance matches. The maximum version of the protocol that this instance matches. The maximum version of the OData protocol that an OData-Version or OData-MaxVersion request header must have in order to be processed by the OData service with this route constraint. The minimum version of the OData protocol that an OData-Version or OData-MaxVersion request header must have in order to be processed by the OData service with this route constraint. 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. 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. 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. 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. Selects the action. The odata path. The controller context. The action map. An implementation of that handles OData metadata 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 navigation properties. 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 handles reading structural properties. An implementation of that always selects the action named HandleUnmappedRequest if that action is present. Selects the action. The OData path. The controller context. The action map.