【发布时间】:2014-07-29 13:28:49
【问题描述】:
所以,我创建了一个 azure 移动服务,下载了一个项目并运行它。
第一次启动后,我在 DB 中看到了一些新表:TodoItems(有 2 个项目)和_MigrationHistory。到目前为止一切顺利。
现在,我想添加一个额外的表格。
- 我正在制作新模型
MyModel:EntityData { public string MyData { get; set; } - 创建一个新控制器
MyModelController:TableController<MyModel>,它是TodoItemController 的副本,其中TodoItem被MyModel替换 - 在 MyProjectContext.cs 中添加了
public DbSet<MyModel> MyModels { get; set; } - 在 WebApiConfig 中添加一行
context.Set<MyModel>().Add(new MyModel{MyData= "test"});
我忘记了什么吗?
在删除所有表并重新发布和运行我的移动应用程序后,我收到 MobileServiceInvalidOperationException 异常并且我的表是空的(即使 TodoItems 是空的)。
编辑:我不确定问题的核心在哪里。如果要在移动应用中添加一行
private IMobileServiceTable<MyModel> myItemsTable = App.MobileService.GetTable<MyModel>();
它会抛出 InvalidOperationException。但是MyModels 表存在于数据库中,我可以通过数据库管理器查看...
EDIT2:
- 好的,我删除了所有附加代码(使用 MyModels)并删除了 db 中的所有表。重新发布移动服务,运行应用程序,我再次看到 2 个表格:
TodoItems(包含 2 个项目)和_MigrationHistory。 - 现在,我在 MyProjectContext.cs 中添加了行
public DbSet<MyModel> MyModels { get; set; },删除了 db 中的所有表,运行应用程序,现在我看到了 3 个表:MyModels、TodoItems(包含 2 个项目)和_MigrationHistory。李> - 当我添加
context.Set<MyModel>().Add(new MyModel{MyData= "test"});行时 - 此刻播种出错:我看到 3 个表MyModels、TodoItems和_MigrationHistory,但TodoItems现在是空的。
【问题讨论】:
标签: c# .net mobile azure service