使用Breeze JS的自定义查询(Fiql+;Breeze)

使用Breeze JS的自定义查询(Fiql+;Breeze),breeze,Breeze,我是breeze js的新手,我知道breeze有自己的与OData相关的查询语言 但我正在尝试让breeze js使用自定义查询语言,例如FIQL 其中一个表单可以向后端进行查询,我们可以使用这种类型的查询语言运行breeze FIQL概述:- (这不是一个技术性的答案,最多只是一个建议) 正如他们在报告中提到的: 今天,Breeze产品已开箱即用,它附带了用于 ASP.NET Web API和OData。它还附带了.NET组件 与实体框架接口,并生成Breeze元数据 从实体框架模型;EF模

我是breeze js的新手,我知道breeze有自己的与OData相关的查询语言 但我正在尝试让breeze js使用自定义查询语言,例如FIQL 其中一个表单可以向后端进行查询,我们可以使用这种类型的查询语言运行breeze

FIQL概述:- (这不是一个技术性的答案,最多只是一个建议)

正如他们在报告中提到的:

今天,Breeze产品已开箱即用,它附带了用于 ASP.NET Web API和OData。它还附带了.NET组件 与实体框架接口,并生成Breeze元数据 从实体框架模型;EF模型可以通过代码开发 首先是数据库Breeze客户端绝不限于 这些技术;它们只是第一个后端组件 可获得的我们将非常乐意帮助您根据自己的喜好调整Breeze 服务器堆栈


第一个问题是

  • 1) 您希望breeze在客户机上实际创建FICL查询并将其发送到FICL服务。这涉及将客户端breeze EntityQuery转换为FICL url语法。如果是这样,您需要创建一个新的“uriBuilder”适配器
  • 2) 您希望将已发送到您的服务的breeze查询转换为服务器上的FIQL语法,以便进一步细化查询,然后将其发送到您的FICL服务。如果是这样,您需要创建一个breeze数据服务端点
这两个都是可能的

如果您正在查看第1个选项,请查看breeze GitHub repo中“src”目录下的“b000_uriBuilder.xxx”文件。应该有两个“uriBuilder.xxx”文件,一个将EntityQuery转换为OData语法,另一个将EntityQuery转换为新的“json”查询语法。这里还有关于第二种语法的其他信息:

这两个“uriBuilder”都使用了一个内部的“访问者”框架,我们还没有对其进行记录,但通过查看源代码应该可以合理理解

如果您正在查看第二个选项,我建议您查看上面提到的链接,然后查看其中的'breeze.node.js'repo和'breeze sequelize'子目录。在这个repo中,我们采用一个序列化的服务器端breeze EntityQuery,并将其转换为一个“节点”Sequelize查询,我们可以应用于各种后端

另一个选择是联系我们的专业服务部门breeze@ideablade.com并请他们帮助您构建适配器,或寻求更详细的技术帮助