0
我正在爲RavenDB中的某些數據結構創建自定義數據服務提供程序。在OdataQueryOpeation中過濾
我使用ODataContext從WCF數據服務工具包,並有查詢工作像TOP的某些部分/ SKIP等
public IEnumerable<Movie> GetAll(ODataQueryOperation operation)
{
IQueryable<Movie> query;
if (operation.TopCount != 0)
query = _session.Query<Movie>().Skip(operation.SkipCount).Take(operation.TopCount);
}
此代碼支持像查詢:
http://<url>/oDataService.svc/Movies?$top=2
但我無法使過濾工作。
operation.FilterExpression具有type-expression,它的值爲:it =>(it.ReleaseYear == 2012)。我嘗試了下面的代碼,但'表達式'的值爲空。
Expression<Func<Movie, bool>> expression = operation.FilterExpression as Expression<Func<Movie, bool>>;
query = _session.Query<Movie>().Where(expression);
和查詢從瀏覽器發射低於:
HTTP:///oDataService.svc/Movies $過濾= ReleaseYear EQ 2012