without microsoft fromodatauri framework c# asp.net-web-api odata

c# - microsoft - ¿Dónde se aplica WebAPI 2.2 OData v4[EnableQuery]?



odata web api filter (1)

¿Dónde es correcto / incorrecto aplicar el atributo EnableQueryAttribute a partir de enero de 2015?

El documento vinculado a continuación:

http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint

Dice:

El atributo [EnableQuery] permite a los clientes modificar la consulta mediante el uso de opciones de consulta como $ filter, $ sort y $ page. Para obtener más información, consulte Compatibilidad con las opciones de consulta de OData.

El siguiente documento vinculado:

http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options

Dice:

El método EnableQuerySupport habilita las opciones de consulta globalmente para cualquier acción del controlador que devuelva un tipo de IQueryable.

Pero este documento para OData 4 en WebApi 2.2 lo ha puesto en acciones que devuelven IHttpActionResult:

http://blogs.msdn.com/b/webdev/archive/2014/03/13/getting-started-with-asp-net-web-api-2-2-for-odata-v4-0.aspx

[ODataRoutePrefix("Teams")] public class TeamsEntitySetController : ODataController { private readonly LeageContext _leage = new LeageContext(); [EnableQuery] [ODataRoute] public IHttpActionResult GetFeed() { return Ok(_leage.Teams); } [ODataRoute("({id})")] [EnableQuery] public IHttpActionResult GetEntity(int id) { return Ok(SingleResult.Create<Team>(_leage.Teams.Where(t => t.Id == id))); } }

Me estoy volviendo loco tratando de encontrar documentación actualizada, precisa y consistente sobre OData v4 / WebApi 2.2.

¿Cuál es correcto hoy?


Utilice la configuración global (instancia de un objeto HttpConfiguration) y llame

config.Filters.Add(new EnableQueryAttribute() { PageSize = 2 // .. other settings });

esto funciona