将新表添加到.NET后端Windows Azure移动服务

时间:2014-03-26 00:54:31

标签: c# azure azure-mobile-services

我使用网站http://www.windowsazure.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-data/上提供的代码示例在Windows Azure上创建了 .NET后端移动服务。部署服务并运行Win 8应用程序后,它会根据代码自动创建一个名为TodoItems的表。但我无法弄清楚如何向服务添加新表。我试过以下几点: 1.添加一个新的EntityClass,TableController:然后只要添加一个 DbSet到contextclass,客户端接收内部服务器 即使在访问未更改的TodoItem时,也会出现错误500。 2.然后我尝试手动添加表,但我得到了同样的错误。 3.我也尝试使用与TodoItem相同的结构创建我的表 它的脚本(添加CreatedAt,UpdatedAt,IsDeleted,触发器)但问题仍然存在。

我刚刚在本地计算机上部署了该服务,并远程连接到Azure数据库,令人惊讶的是,一切正常。我可以访问这两个表,但如果我使用windows azure服务,我会得到"内部服务器错误"。

3 个答案:

答案 0 :(得分:1)

我刚刚设法解决了这个问题:

  1. 删除数据库和服务
  2. 重新创建
  3. 在数据库初始化程序的Seed函数中为每个表添加一个项目(DropCreateDatabaseIfModelChanges类),以便它自动生成表。

答案 1 :(得分:1)

如果您在移动服务中使用JavaScript后端

要从管理门户向JavaScript后端添加新表,请单击“创建”,提供“表名”,然后选择“插入”,“更新”,“删除”和“查询”权限。 启用“动态架构”后,Mobile Services会根据插入或更新请求中的JSON对象自动生成新列。

如果使用.NET后端

建议使用数据迁移(请参阅下面的第二个链接)。 要添加表,您需要向Code First数据模型添加一个新属性,该模型根据继承自EntityData类型的新模型数据类型返回DbSet。

阅读以下内容可能很有用: Add Mobile Services to an existing app

也可以使用SQL Server Management Studio执行任何DDL / DML操作。

有关详细信息,请参阅以下链接:

http://msdn.microsoft.com/library/azure/jj193162.aspx http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-how-to-use-code-first-migrations/

答案 2 :(得分:-1)

- 转到Azure管理门户。

-Pick Mobile Services

- 选择你自己的服务

- 转到"数据"标签

- 点击" +"屏幕底部工具栏上的图标。

这将使您进入"创建表"屏幕,您可以在其中指定表名和访问策略。

希望这有帮助。