2016-08-13 27 views
2

我的目標是開發共享來自同一數據庫的數據的Web應用程序和移動應用程序。 達到此目的的最佳方式是什麼(使用天藍色)?在Azure中具有相同數據庫的Web應用程序和移動應用程序

我想我應該:

  • 從Azure的門戶網站有一個SQL數據庫
  • 創建Web應用程序與現有的數據庫創建從Azure的門戶網站移動應用(我之前創建的)

然後,我將開發我的ASP.net MVC項目,使用Entity Framework創建數據庫模式,然後我將在Azure中發佈它。 最後,我將開發我的移動應用程序(在這種情況下,我想使用Xamarin),然後使用Easy Tables的代碼訪問數據庫(以前創建)。

是不是?或者我想錯了,這不是使用Azure在Web應用程序和移動應用程序之間共享相同數據庫的最佳體系結構?

回答

2

這應該沒問題。請記住,Azure移動應用程序服務器會自動將一些系統列添加到數據庫表(createdAt,updatedAt,已刪除和版本)。此外,移動應用程序的限制是主鍵名稱必須被稱爲id

+0

我不認爲這應該是一個問題。但是,你認爲這可能是更好的解決方案嗎? – lorenzogiudici5

+0

如果不知道更多關於您的要求的信息,無法說出 - 肯定有很多解決方案! Azure移動應用程序提供了一個客戶端,可以輕鬆訪問數據(並使用脫機數據),發送推送通知並對用戶進行身份驗證。您也可以在Web應用程序中使用客戶端,或者您可以直接訪問數據庫。 –

+0

最後我使用了這個解決方案,但是正如你建議我的,我在系統列上遇到了一些問題。但我解決了他們。 – lorenzogiudici5

0

如果您想開發網站和移動應用程序共享相同的數據庫,這是一個不錯的選擇。

0

Azure移動應用程序是一個普通的舊ASP.NET應用程序或Node.js應用程序。 Easy Tables只是Node.js版本中數據的投影。如果您使用的是ASP.NET,那麼您不會獲得簡易表格。

這就是說,將Azure移動應用程序SDK添加到EXISTING Web應用程序相對比較容易。

1)App_Start\Startup.MobileApp.csStartup.cs代碼從一個示例應用程序複製到您的ASP.NET應用程序

2)確保所有模型從EntityData繼承,使他們的「移動準備好了」。如果您的模型已經有自動遞增的Id列,請參閱https://shellmonger.com/2016/05/11/30-days-of-zumo-v2-azure-mobile-apps-day-19-asp-net-table-controllers/以瞭解變通辦法

3)腳手架Azure移動應用程序表控制器用於移動數據庫表投影。

您可以在MVC控制器和移動控制器上使用相同的模型。如果您的應用程序使用AJAX調用獲取數據,則可以使用Azure移動應用程序的JavaScript SDK替換這些AJAX調用,這樣就不必複製內容。

你將要工作的主要地方是auth的整合。大多數MVC應用程序使用Identity數據庫是因爲它們已經從現有的一個MVC模板中增長。您將需要實施自定義移動認證機制來重新使用數據庫。您可以在azure.com HOWTO文檔中找到關於此的信息。

相關問題