1

我想爲html/JavaScript應用程序創建一個簡單的後端。我開始使用azure移動服務模板創建一個新的Visual Studio項目。我創建了一個名爲「項目項」一個簡單的數據對象類,這是看起來像這樣:Azure移動服務入門問題 - 數據庫

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中stepps:

  1. 我創建了新的門戶網站
  2. 在Visual Studio我點擊發布(我的解決方案),並創建了一個新的移動服務選擇空數據庫空數據庫 - 我沒觸摸設置的其餘部分。移動服務現在「正在運行」。

我只從現在開始使用sqlite,所以我在Visual Studio中打開了數據庫,並希望查看我創建的測試項目(2項目項目)。

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

Database in vs

  • 這怎麼可能發生?
  • 我做錯了什麼?
  • 爲什麼它創建在本地主機上運行的表,但是當 在azure上發佈它不是?

回答

1

我相信創建對象模型並不那麼簡單,它會在後端創建相同的表(SQL Azure清晰或Azure存儲)。您需要使用Azure儀表板創建它,或者執行自定義API並按照described here的方式執行操作。您可以在Visual Studio中執行相同的操作,我認爲或從連接到SQL Azure數據庫的SQL Server Management Studio中執行相同的操作。

但是,對於移動服務,如果您在儀表板上設置了動態模式,則它將能夠在它們位於對象中時創建新列,但不建議在生產中使用。

因此,您沒有任何問題,它看起來以編程方式創建表只是不受支持的方式(僅限於儀表板或任何類型的資源管理器,如SSMS或VS)。無論如何(順便說一句),它們將不在系統表分支中。

+0

發佈標準項目正在創建一個表... –

+0

我們可以聊一下嗎? –

+0

而你的鏈接是針對移動應用程序而非移動服務的,這是不同的東西。 –