【问题标题】:Azure Mobile Services Starter Issues - DatabaseAzure 移动服务初学者问题 - 数据库
【发布时间】:2016-05-14 23:09:15
【问题描述】:

我正在尝试为 html/JavaScript 应用程序创建一个简单的后端。我首先使用 azure 移动服务模板创建了一个新的 Visual Studio 项目。我创建了一个名为“ProjectItem”的简单 DataObject 类,如下所示:

   public class ProjectItem : Microsoft.WindowsAzure.Mobile.Service.EntityData
{
    public string Title { get; set; }
    public string Description { get; set; }
}

之后我添加了一个表格控制器,并且不需要触摸该类中的任何代码。 在 web api 配置中,我添加了这个和平的代码:

List<ProjectItem> projectItems = new List<ProjectItem>
        {
            new ProjectItem {Id = Guid.NewGuid().ToString(), Title = "First Project", Description = "My First Project Description" },
            new ProjectItem {Id = Guid.NewGuid().ToString(), Title = "Second Project", Description = "My Second Project Description" }
        };
        foreach (ProjectItem projectItem in projectItems)
        {
            context.Set<ProjectItem>().Add(projectItem);
        }

我在我的本地主机上调试了服务,它工作得很好。 现在我想在 azure 上托管它,我的问题就开始了。 这是我使用 azure 执行的步骤:

  1. 我在新 Portal 上创建了一个空数据库
  2. 在 Visual Studio 中,我单击了发布(我的解决方案)并创建了一个新的移动服务,选择了空数据库 - 我没有触及设置的其余部分。移动服务现已“启动并运行”。

从现在开始我只使用过 sqlite,所以我在 Visual Studio 中打开了数据库并想查看我创建的测试项(2 个项目项)。

但是没有 ProjectItem 表,也没有 ToDoItem 表!

  • 怎么会这样?
  • 我做错了什么?
  • 为什么要创建在 localhost 上运行的表,但是什么时候 不是在 azure 上发布吗?

【问题讨论】:

    标签: sql-server visual-studio azure azure-sql-database azure-mobile-services


    【解决方案1】:

    我相信创建对象模型并没有那么简单,它会在后端创建相同的表(SQL Azure,或者 Azure Storage)。您需要使用 Azure 仪表板创建它,或者执行自定义 API 并按照 described here 执行。我认为,您可以在 Visual Studio 中或从连接到 SQL Azure db 的 SQL Server Management Studio 中执行相同操作。

    然而,对于移动服务,如果您在仪表板上设置动态架构,它将能够在对象中创建新列,但不建议在生产中使用。

    所以,您没有做错任何事情,看起来以编程方式创建表只是不受支持的方式(仅通过仪表板或任何类型的资源管理器,如 SSMS 或 VS)。无论如何(顺便说一句),它们不会在系统表分支中。

    【讨论】:

    • 我们可以聊聊吗?
    • 您的链接是针对移动应用的,而不是针对不同事物的移动服务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    相关资源
    最近更新 更多