我正在开发一个使用Azure移动应用服务的新应用程序,并使用.NET开发后端,并选择Azure Tables作为后端存储。在我到目前为止发现的所有示例中,使用TableController作为任何API控制器的基础,并且模型必须从EntityData派生。此实体数据不包含分区和行键,但我们需要这些键用于Azure表存储。 访问表存储的其他方法是通过Microsoft.WindowsAzure.Storage,模型将继承自TableEntity。
请建议使用azure移动应用程序开发后端服务的适当方法是什么。
答案 0 :(得分:2)
我们可以通过新的Microsoft.Azure.Mobile.Server.Storage包将Azure表存储用作TableControllers的后备数据提供程序。查看Azure Mobile Apps September 2015 Update的详细信息。详细步骤显示在this article中。您需要更加注意以下几点:
1)与Azure SQL数据库不同,Azure表存储是一个非关系存储
2)从StorageData而不是EntityData派生的数据类型,StorageData中的Id必须格式化为"< partitionID>,< rowValue>"
public class TodoItem : StorageData
{
public TodoItem(): base("partition", System.Guid.NewGuid().ToString())
{
}
public string Text { get; set; }
public bool Complete { get; set; }
}
3)与SQL数据库不同,作为后端数据的表存储不会返回IQueryable。