将查询发送到非可查询操作方法

时间:2013-09-23 12:50:58

标签: breeze

我有一个问题:

var query = entityQuery.from('Reports').where(predicate);
manager.executeQuery(query).then(function(data){ var reportFile = data.results[0];});

要描述 - 我创建谓词,向服务器发送查询,该查询返回由谓词选择的实体组成的生成报告文件的路径。 Serverside看起来像这样:

[HttpGet]
public string Reports(){
    var result = _contextProvider.Context.Items.Include('Subitem1').Include('Subitem2').Include('Subitem1.SubSubitem1').ToList();
    var ex = new ExportController();
    return ex.ExportResults(result);
}

我期望这样做是为了进入变量'result',只选择由先前解析的'predicate'选择的项目,但是,我得到所有项目,谓词被忽略。我试图在action方法前添加[Queryable],但后来我得到错误,即action方法无法返回字符串。方法返回生成报告的路径。

是否可以使用Breeze进行此操作?

目前避免此问题的想法是让此操作方法返回包含所有选定项的IQueryable,然后让客户端将所有这些项发送回服务器,然后调用ExportController。考虑到我的应用程序应该具有多于几KB的数据,它似乎不是长期解决方案。

0 个答案:

没有答案