我应该将什么用于Azure移动服务 - TableController或API控制器?

时间:2016-09-04 10:03:32

标签: azure azure-mobile-services azure-table-storage

我正在开发一个使用Azure移动应用服务的新应用程序,并使用.NET开发后端,并选择Azure Tables作为后端存储。在我到目前为止发现的所有示例中,使用TableController作为任何API控制器的基础,并且模型必须从EntityData派生。此实体数据不包含分区和行键,但我们需要这些键用于Azure表存储。 访问表存储的其他方法是通过Microsoft.WindowsAzure.Storage,模型将继承自TableEntity。

请建议使用azure移动应用程序开发后端服务的适当方法是什么。

1 个答案:

答案 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。