我可以在不使用Code First / Entity Framework的Azure移动服务中使用$ expand查询运算符吗?

时间:2015-08-08 16:44:59

标签: azure-sql-database azure-mobile-services

我使用基于javascript的Azure移动服务,因此没有Web API /实体框架/代码优先。我只是使用Azure门户来创建表和列。我注意到没有办法在表格之间定义强关系。我已经创建了引用其他列的列。但与Entity Framework不同,这不会在表之间创建真正的外键关系。

我读过可以使用$ expand ODATA运算符返回相关数据: http://zimmergren.net/technical/extending-windows-azure-mobile-services-queries-to-include-relational-data-and-optional-metadata

...但Azure Mobile REST API的MSDN文档不包含$ expand运算符: https://msdn.microsoft.com/en-us/library/azure/jj677199.aspx

这是否意味着在不使用基于实体框架的Azure移动服务的情况下无法进行关系查询? $ expand运算符是否仅适用于基于.NET的Azure移动服务(不是基于javascript的)?

1 个答案:

答案 0 :(得分:2)

移动服务的Node.js后端不支持$ expand查询运算符。但是,您当然可以修改Read后端脚本以从相关表中返回数据。

有关在后端代码中实现联接的详细信息,请参阅此文档:https://azure.microsoft.com/en-us/documentation/articles/mobile-services-how-to-use-server-scripts/#joins

您还应该确保优化SQL查询:https://azure.microsoft.com/en-us/documentation/articles/mobile-services-sql-scale-guidance/