我使用的是基于 javascript 的 Azure 移动服务,因此没有 Web API/ Entity Framework /代码优先。我只是使用 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
这是否意味着如果不使用基于 Entity Framework 的 Azure 移动服务就无法进行关系查询? $expand 运算符仅适用于基于 .NET 的 Azure 移动服务(不是基于 javascript)吗?
最佳答案
移动服务的 Node.js 后端不支持 $expand 查询运算符。但是,您当然可以修改读取后端脚本以从相关表返回数据。
有关在后端代码中实现联接的更多信息,请参阅此文档: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/
关于azure-sql-database - 我可以在不使用 Code First/Entity Framework 的 Azure 移动服务中使用 $expand 查询运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31896265/