2016-08-13 99 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文档中找到关于此的信息。

相关问题