如何在两个 Azure IMobileServiceSyncTables 上执行 SQL JOIN?
How can I do a SQL JOIN on two Azure IMobileServiceSyncTables?
我有一个使用 Azure 移动服务离线同步的 Xamarin Forms 应用程序。我想使用 Join 来查询两个 table,但 IMobileServiceSyncTables 似乎不支持使用 JOIN。我可以使用常规 SQL 查询吗?对于单个 table 查询,我正在执行以下操作:
IEnumerable<Job> jobs = await jobTable
.Where(job => job.JobPackId == jobPackId)
.ToEnumerableAsync();
我可以在 job.JobPackID == JobPack.Id.
将作业 table 加入作业包 table
我目前的解决方法是从上述查询中获取所有作业,然后针对每个作业,在 JobPack table 中查询我想要的项目。但我认为它不是很有效,所以寻找更好的方法。
Can I use a regular SQL query?
AFAIK,使用 IMobileServiceSyncTables
时无法使用连接查询,也无法编写自己的 SQL 查询。据我了解,您正在使用 Azure 移动服务离线同步,您无法通过单个 table 查询实现您的目的。要从您的 Job table 和相关的 JobPack 记录中查询所有记录,您需要使用两个查询来检索您预期的记录。或者您可以安装 SQLite 客户端库并编写您自己的 SQL 连接操作查询。这里有一个类似的 issue. Moreover, you could add your feature request here.
我有一个使用 Azure 移动服务离线同步的 Xamarin Forms 应用程序。我想使用 Join 来查询两个 table,但 IMobileServiceSyncTables 似乎不支持使用 JOIN。我可以使用常规 SQL 查询吗?对于单个 table 查询,我正在执行以下操作:
IEnumerable<Job> jobs = await jobTable
.Where(job => job.JobPackId == jobPackId)
.ToEnumerableAsync();
我可以在 job.JobPackID == JobPack.Id.
将作业 table 加入作业包 table我目前的解决方法是从上述查询中获取所有作业,然后针对每个作业,在 JobPack table 中查询我想要的项目。但我认为它不是很有效,所以寻找更好的方法。
Can I use a regular SQL query?
AFAIK,使用 IMobileServiceSyncTables
时无法使用连接查询,也无法编写自己的 SQL 查询。据我了解,您正在使用 Azure 移动服务离线同步,您无法通过单个 table 查询实现您的目的。要从您的 Job table 和相关的 JobPack 记录中查询所有记录,您需要使用两个查询来检索您预期的记录。或者您可以安装 SQLite 客户端库并编写您自己的 SQL 连接操作查询。这里有一个类似的 issue. Moreover, you could add your feature request here.