Azure移动服务入门问题 - 数据库

时间:2016-05-14 13:27:43

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

我正在尝试为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做的stepps:

  1. 我在新门户
  2. 上创建了一个空数据库
  3. 在Visual Studio中,我点击了发布(我的解决方案)并创建了一个新的移动服务选择空数据库 - 我没有触及剩下的设置。移动服务现在正在运行&#34;。
  4. 我从现在开始只使用sqlite所以我在visual Studio中打开了数据库,想看看我创建的测试项目(2个项目项目)。

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

    Database in vs

    • 这怎么可能发生?
    • 我做错了什么?
    • 为什么要创建在localhost上运行的表但是何时 在azure上发布它不是<?li?

1 个答案:

答案 0 :(得分:1)

我认为创建对象模型并不简单,它将在后端创建相同的表(SQL Azure要清除,或Azure存储)。您需要使用Azure仪表板创建它,或者执行自定义API并执行described here。您可以在Visual Studio中执行相同操作,或者从连接到SQL Azure数据库的SQL Server Management Studio执行相同的操作。

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

所以,你没有任何错误,它看起来以编程方式创建表只是不受支持的方式(只有仪表板或任何类型的浏览器,如SSMS或VS)。无论如何(顺便说一句),它们将不在系统表分支中。