2013-08-26 6 views

답변

1

작품 나를

이제
[Breeze.WebApi.BreezeController] 
public class MyBreezeController : System.Web.Http.ApiController 
{ 
    private readonly Breeze.WebApi.EFContextProvider<MyDbContext> context 
     = new Breeze.WebApi.EFContextProvider<MyDbContext>(); 

    [SetInlineCountFilter] 
    [Breeze.WebApi.BreezeQueryable] 
    public System.Linq.IQueryable<MyEntity> Index() 
    { 
     return this.context.Context.MyEntities.Where(e => e.Value > 100); 
    } 
} 

public class SetInlineCountFilterAttribute : System.Web.Http.Filters.ActionFilterAttribute 
{ 
    public override void OnActionExecuted(System.Web.Http.Filters.HttpActionExecutedContext actionExecutedContext) 
    { 
     var content = (System.Net.Http.ObjectContent)actionExecutedContext.Response.Content; 
     var result = (Breeze.WebApi.QueryResult)content.Value; 
     result.InlineCount = 42; 
     base.OnActionExecuted(actionExecutedContext); 
    } 
} 

당신이 어디에서 inlinecount의 가치를 얻을 및 패스 코드를 추가 할 수는

를 필터링 또는 수동으로 모든 sevrer 측의 바람이 일을 위해 :

[Breeze.WebApi.BreezeController] 
public class MyBreezeController : System.Web.Http.ApiController 
{ 
    private readonly Breeze.WebApi.EFContextProvider<MyDbContext> context 
     = new Breeze.WebApi.EFContextProvider<MyDbContext>(); 

    public QueryResult Index() 
    { 
     return new QueryResult 
        { 
         InlineCount = 42, 
         Results = this.context.Context.MyEntities.Where(e => e.Value > 100) 
        }; 
    } 
} 

요청에서 쿼리 옵션을 얻으십시오. this.Request.RequestUri.Query