如何在服务器上优化breeze查询的结果?

如何在服务器上优化breeze查询的结果?,breeze,Breeze,我需要在将结果返回到客户端之前,优化服务器上的Breeze controller IQueryable的结果 客户端将向IQueryable资源发出投影查询;客户端查询可能包括where子句和ORDERBY子句 在对数据库执行查询之后(使用实体框架),但在查询结果返回到客户端之前,我想将结果转换为xml或csv格式 由于技术原因,我无法在客户端上执行此转换 事实上,我怀疑我甚至可能无法将查询结果返回给客户端,除了(字符串)url。另外,这个url可能指向一个MVC操作,该操作返回一个FileRe

我需要在将结果返回到客户端之前,优化服务器上的Breeze controller IQueryable的结果

客户端将向IQueryable资源发出投影查询;客户端查询可能包括where子句和ORDERBY子句

在对数据库执行查询之后(使用实体框架),但在查询结果返回到客户端之前,我想将结果转换为xml或csv格式

由于技术原因,我无法在客户端上执行此转换

事实上,我怀疑我甚至可能无法将查询结果返回给客户端,除了(字符串)url。另外,这个url可能指向一个MVC操作,该操作返回一个FileResult,其中包含临时保存在服务器上的查询的csv或xml结果

谢谢
Christian

而不是在客户端上执行
。其中(…)
可以使用参数(…)执行
。然后,您可以在操作方法中读取这些参数,手动应用需要应用的任何内容,将最终数据转换为指定格式并返回。你的行动方法将不再有效。所有“细化”参数都必须发送到
。带有参数(…)
,您必须自己完成。如果你知道自己在做什么,应该不会太难。

谢谢多米尼克特斯的回复。这当然是一个选项,但我希望有一个更通用的解决方案,客户端js使用EntityQuery上的where、select和order by定义其数据需求,服务器对这些标准breeze查询的结果进行转换。如果我错了,请纠正我,
。其中
是在
return
语句之后执行的,因此您将只按原样从服务器获取数据,不进行任何修改。如果需要修改,则必须编写
.withParameters()
是的,这就是问题所在!我猜我正在寻找的一般解决方案是创建一个ActionFilter,它在breeze库代码之后运行。@Christian你有没有这样做过?我试图做一些类似的事情,从查询中保存一个csv,而不是返回对象,但遇到了相同的问题,在控制器返回数据之后才进行过滤。