'Where' Azure 移动服务查询不支持成员 'IdLogement'

The member 'IdLogement' is not supported in the 'Where' Azure Mobile Services query

我使用 Azure 移动服务并尝试执行此查询:

var interventions = await _interventionRemoteTable.Where(inter => inter.Logement.IdLogement == idLogement).ToListAsync();

每次都出现错误: 'Where' Azure 移动服务查询

不支持成员 'IdLogement'

如果我分两步提出这个请求(首先获取所有 "Interventions" 然后过滤本地),它就可以工作。

var interventions = await _interventionRemoteTable.ToListAsync();

var result = interventions.Where(inter => inter.Logement.IdLogement == idLogement);

当然,这不是我想要的。我希望在服务器上完成过滤,以免获取数以千计的数据。

是否有过滤导航的方法属性?

谢谢,

移动服务有一个简化的查询模型,这意味着您不能直接指定基于多个 tables 的 LINQ 查询。

我可以想到两种解决方法:

  1. 编写一个自定义 API,在其中传递要过滤的参数,在此示例中为 IdLogement。

  2. 向您的 GET table 控制器方法添加一个参数以将 IdLogement 作为参数,并让服务器添加一个额外的 .Where 子句来进行过滤。